@antseed/cli 0.1.4 → 0.1.6

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.
@@ -0,0 +1,525 @@
1
+ const ANTHROPIC_PROVIDER_NAMES = new Set(['anthropic', 'claude-code', 'claude-oauth']);
2
+ const OPENAI_CHAT_PROVIDER_NAMES = new Set(['openai', 'local-llm']);
3
+ function parseJsonObject(body) {
4
+ try {
5
+ const parsed = JSON.parse(new TextDecoder().decode(body));
6
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
7
+ return null;
8
+ }
9
+ return parsed;
10
+ }
11
+ catch {
12
+ return null;
13
+ }
14
+ }
15
+ function encodeJson(value) {
16
+ return new TextEncoder().encode(JSON.stringify(value));
17
+ }
18
+ function toStringContent(value) {
19
+ if (typeof value === 'string') {
20
+ return value;
21
+ }
22
+ if (Array.isArray(value)) {
23
+ return value
24
+ .map((entry) => {
25
+ if (!entry || typeof entry !== 'object') {
26
+ return '';
27
+ }
28
+ const block = entry;
29
+ if (block.type === 'text' && typeof block.text === 'string') {
30
+ return block.text;
31
+ }
32
+ if (block.type === 'tool_result') {
33
+ return toStringContent(block.content);
34
+ }
35
+ return '';
36
+ })
37
+ .filter((entry) => entry.length > 0)
38
+ .join('\n');
39
+ }
40
+ if (value === null || value === undefined) {
41
+ return '';
42
+ }
43
+ // Handle a single content block object (e.g. {type:'text', text:'...'})
44
+ if (typeof value === 'object') {
45
+ const block = value;
46
+ if (block.type === 'text' && typeof block.text === 'string') {
47
+ return block.text;
48
+ }
49
+ if (block.type === 'tool_result') {
50
+ return toStringContent(block.content);
51
+ }
52
+ return '';
53
+ }
54
+ return String(value);
55
+ }
56
+ function parseJsonSafe(raw) {
57
+ try {
58
+ return JSON.parse(raw);
59
+ }
60
+ catch {
61
+ return raw;
62
+ }
63
+ }
64
+ function mapFinishReasonToAnthropicStopReason(value) {
65
+ if (typeof value !== 'string' || value.length === 0) {
66
+ return null;
67
+ }
68
+ if (value === 'stop')
69
+ return 'end_turn';
70
+ if (value === 'length')
71
+ return 'max_tokens';
72
+ if (value === 'tool_calls' || value === 'function_call')
73
+ return 'tool_use';
74
+ return value;
75
+ }
76
+ function toNonNegativeInt(value) {
77
+ const parsed = Number(value);
78
+ if (!Number.isFinite(parsed) || parsed <= 0) {
79
+ return 0;
80
+ }
81
+ return Math.floor(parsed);
82
+ }
83
+ function convertAnthropicMessagesToOpenAI(body) {
84
+ const out = [];
85
+ if (body.system !== undefined) {
86
+ const systemText = toStringContent(body.system);
87
+ if (systemText.length > 0) {
88
+ out.push({ role: 'system', content: systemText });
89
+ }
90
+ }
91
+ const messagesRaw = body.messages;
92
+ if (!Array.isArray(messagesRaw)) {
93
+ return out;
94
+ }
95
+ for (const messageRaw of messagesRaw) {
96
+ if (!messageRaw || typeof messageRaw !== 'object') {
97
+ continue;
98
+ }
99
+ const message = messageRaw;
100
+ const role = typeof message.role === 'string' ? message.role : 'user';
101
+ const content = message.content;
102
+ if (role === 'assistant' && Array.isArray(content)) {
103
+ const textParts = [];
104
+ const toolCalls = [];
105
+ for (const blockRaw of content) {
106
+ if (!blockRaw || typeof blockRaw !== 'object') {
107
+ continue;
108
+ }
109
+ const block = blockRaw;
110
+ const blockType = typeof block.type === 'string' ? block.type : '';
111
+ if (blockType === 'tool_use') {
112
+ const callName = typeof block.name === 'string' && block.name.length > 0 ? block.name : 'tool';
113
+ const callId = typeof block.id === 'string' && block.id.length > 0
114
+ ? block.id
115
+ : `call_${toolCalls.length + 1}`;
116
+ const input = block.input && typeof block.input === 'object' ? block.input : {};
117
+ toolCalls.push({
118
+ id: callId,
119
+ type: 'function',
120
+ function: {
121
+ name: callName,
122
+ arguments: JSON.stringify(input),
123
+ },
124
+ });
125
+ continue;
126
+ }
127
+ const text = toStringContent(block);
128
+ if (text.length > 0) {
129
+ textParts.push(text);
130
+ }
131
+ }
132
+ const assistantMessage = {
133
+ role: 'assistant',
134
+ content: textParts.join('\n'),
135
+ };
136
+ if (toolCalls.length > 0) {
137
+ assistantMessage.tool_calls = toolCalls;
138
+ }
139
+ out.push(assistantMessage);
140
+ continue;
141
+ }
142
+ if (role === 'user' && Array.isArray(content)) {
143
+ const textParts = [];
144
+ const toolResults = [];
145
+ for (const blockRaw of content) {
146
+ if (!blockRaw || typeof blockRaw !== 'object') {
147
+ continue;
148
+ }
149
+ const block = blockRaw;
150
+ const blockType = typeof block.type === 'string' ? block.type : '';
151
+ if (blockType === 'tool_result') {
152
+ const toolCallId = typeof block.tool_use_id === 'string' ? block.tool_use_id : '';
153
+ if (toolCallId.length > 0) {
154
+ toolResults.push({
155
+ role: 'tool',
156
+ tool_call_id: toolCallId,
157
+ content: toStringContent(block.content),
158
+ });
159
+ continue;
160
+ }
161
+ }
162
+ const text = toStringContent(block);
163
+ if (text.length > 0) {
164
+ textParts.push(text);
165
+ }
166
+ }
167
+ if (textParts.length > 0) {
168
+ out.push({
169
+ role: 'user',
170
+ content: textParts.join('\n'),
171
+ });
172
+ }
173
+ out.push(...toolResults);
174
+ continue;
175
+ }
176
+ out.push({
177
+ role,
178
+ content: toStringContent(content),
179
+ });
180
+ }
181
+ return out;
182
+ }
183
+ function convertAnthropicToolsToOpenAI(toolsRaw) {
184
+ if (!Array.isArray(toolsRaw) || toolsRaw.length === 0) {
185
+ return undefined;
186
+ }
187
+ const out = [];
188
+ for (const toolRaw of toolsRaw) {
189
+ if (!toolRaw || typeof toolRaw !== 'object') {
190
+ continue;
191
+ }
192
+ const tool = toolRaw;
193
+ if (typeof tool.name !== 'string' || tool.name.length === 0) {
194
+ continue;
195
+ }
196
+ out.push({
197
+ type: 'function',
198
+ function: {
199
+ name: tool.name,
200
+ ...(typeof tool.description === 'string' && tool.description.length > 0
201
+ ? { description: tool.description }
202
+ : {}),
203
+ parameters: tool.input_schema && typeof tool.input_schema === 'object'
204
+ ? tool.input_schema
205
+ : { type: 'object', properties: {} },
206
+ },
207
+ });
208
+ }
209
+ return out.length > 0 ? out : undefined;
210
+ }
211
+ function convertAnthropicToolChoiceToOpenAI(toolChoice) {
212
+ if (typeof toolChoice === 'string') {
213
+ if (toolChoice === 'auto' || toolChoice === 'none' || toolChoice === 'required') {
214
+ return toolChoice;
215
+ }
216
+ return undefined;
217
+ }
218
+ if (!toolChoice || typeof toolChoice !== 'object') {
219
+ return undefined;
220
+ }
221
+ const choice = toolChoice;
222
+ const type = typeof choice.type === 'string' ? choice.type : '';
223
+ if (type === 'auto') {
224
+ return 'auto';
225
+ }
226
+ if (type === 'any') {
227
+ return 'required';
228
+ }
229
+ if (type === 'tool' && typeof choice.name === 'string' && choice.name.length > 0) {
230
+ return {
231
+ type: 'function',
232
+ function: {
233
+ name: choice.name,
234
+ },
235
+ };
236
+ }
237
+ return undefined;
238
+ }
239
+ function buildAnthropicStreamFromMessage(message) {
240
+ const chunks = [];
241
+ const pushEvent = (event, data) => {
242
+ chunks.push(`event: ${event}\n`);
243
+ chunks.push(`data: ${JSON.stringify(data)}\n\n`);
244
+ };
245
+ pushEvent('message_start', {
246
+ type: 'message_start',
247
+ message: {
248
+ id: message.id,
249
+ type: 'message',
250
+ role: 'assistant',
251
+ model: message.model,
252
+ content: [],
253
+ stop_reason: null,
254
+ stop_sequence: null,
255
+ usage: {
256
+ input_tokens: message.usage.inputTokens,
257
+ output_tokens: 0,
258
+ },
259
+ },
260
+ });
261
+ message.content.forEach((block, index) => {
262
+ pushEvent('content_block_start', {
263
+ type: 'content_block_start',
264
+ index,
265
+ content_block: block.type === 'text'
266
+ ? { type: 'text', text: '' }
267
+ : { type: 'tool_use', id: block.id, name: block.name, input: block.input },
268
+ });
269
+ if (block.type === 'text' && block.text.length > 0) {
270
+ pushEvent('content_block_delta', {
271
+ type: 'content_block_delta',
272
+ index,
273
+ delta: {
274
+ type: 'text_delta',
275
+ text: block.text,
276
+ },
277
+ });
278
+ }
279
+ pushEvent('content_block_stop', {
280
+ type: 'content_block_stop',
281
+ index,
282
+ });
283
+ });
284
+ pushEvent('message_delta', {
285
+ type: 'message_delta',
286
+ delta: {
287
+ stop_reason: message.stopReason,
288
+ stop_sequence: null,
289
+ },
290
+ usage: {
291
+ output_tokens: message.usage.outputTokens,
292
+ },
293
+ });
294
+ pushEvent('message_stop', {
295
+ type: 'message_stop',
296
+ });
297
+ return new TextEncoder().encode(chunks.join(''));
298
+ }
299
+ export function detectRequestModelApiProtocol(request) {
300
+ const normalizedPath = request.path.toLowerCase();
301
+ if (normalizedPath.startsWith('/v1/messages') || normalizedPath.startsWith('/v1/complete')) {
302
+ return 'anthropic-messages';
303
+ }
304
+ if (normalizedPath.startsWith('/v1/chat/completions')) {
305
+ return 'openai-chat-completions';
306
+ }
307
+ if (normalizedPath.startsWith('/v1/completions')) {
308
+ return 'openai-completions';
309
+ }
310
+ const hasAnthropicVersionHeader = Object.keys(request.headers)
311
+ .some((key) => key.toLowerCase() === 'anthropic-version');
312
+ if (hasAnthropicVersionHeader) {
313
+ return 'anthropic-messages';
314
+ }
315
+ return null;
316
+ }
317
+ export function inferProviderDefaultModelApiProtocols(providerName) {
318
+ const normalized = providerName.trim().toLowerCase();
319
+ if (normalized.length === 0) {
320
+ return [];
321
+ }
322
+ if (ANTHROPIC_PROVIDER_NAMES.has(normalized)) {
323
+ return ['anthropic-messages'];
324
+ }
325
+ if (OPENAI_CHAT_PROVIDER_NAMES.has(normalized)) {
326
+ return ['openai-chat-completions'];
327
+ }
328
+ return [];
329
+ }
330
+ export function selectTargetProtocolForRequest(requestProtocol, supportedProtocols) {
331
+ if (!requestProtocol) {
332
+ return null;
333
+ }
334
+ if (supportedProtocols.includes(requestProtocol)) {
335
+ return { targetProtocol: requestProtocol, requiresTransform: false };
336
+ }
337
+ if (requestProtocol === 'anthropic-messages' && supportedProtocols.includes('openai-chat-completions')) {
338
+ return { targetProtocol: 'openai-chat-completions', requiresTransform: true };
339
+ }
340
+ return null;
341
+ }
342
+ export function transformAnthropicMessagesRequestToOpenAIChat(request) {
343
+ if (!request.path.toLowerCase().startsWith('/v1/messages')) {
344
+ return null;
345
+ }
346
+ const body = parseJsonObject(request.body);
347
+ if (!body) {
348
+ return null;
349
+ }
350
+ const streamRequested = body.stream === true;
351
+ const requestedModel = typeof body.model === 'string' && body.model.trim().length > 0
352
+ ? body.model.trim()
353
+ : null;
354
+ const mappedMessages = convertAnthropicMessagesToOpenAI(body);
355
+ const mappedTools = convertAnthropicToolsToOpenAI(body.tools);
356
+ const mappedToolChoice = convertAnthropicToolChoiceToOpenAI(body.tool_choice);
357
+ const transformedBody = {
358
+ ...(requestedModel ? { model: requestedModel } : {}),
359
+ messages: mappedMessages,
360
+ stream: false,
361
+ };
362
+ if (typeof body.max_tokens === 'number') {
363
+ transformedBody.max_tokens = body.max_tokens;
364
+ }
365
+ if (typeof body.temperature === 'number') {
366
+ transformedBody.temperature = body.temperature;
367
+ }
368
+ if (typeof body.top_p === 'number') {
369
+ transformedBody.top_p = body.top_p;
370
+ }
371
+ if (Array.isArray(body.stop_sequences)) {
372
+ transformedBody.stop = body.stop_sequences;
373
+ }
374
+ if (mappedTools) {
375
+ transformedBody.tools = mappedTools;
376
+ }
377
+ if (mappedToolChoice !== undefined) {
378
+ transformedBody.tool_choice = mappedToolChoice;
379
+ }
380
+ if (body.metadata && typeof body.metadata === 'object' && !Array.isArray(body.metadata)) {
381
+ transformedBody.metadata = body.metadata;
382
+ }
383
+ if (typeof body.user === 'string') {
384
+ transformedBody.user = body.user;
385
+ }
386
+ const transformedHeaders = { ...request.headers };
387
+ for (const headerName of Object.keys(transformedHeaders)) {
388
+ const lower = headerName.toLowerCase();
389
+ if (lower === 'anthropic-version' || lower === 'anthropic-beta') {
390
+ delete transformedHeaders[headerName];
391
+ }
392
+ }
393
+ transformedHeaders['content-type'] = 'application/json';
394
+ return {
395
+ request: {
396
+ ...request,
397
+ path: '/v1/chat/completions',
398
+ headers: transformedHeaders,
399
+ body: encodeJson(transformedBody),
400
+ },
401
+ streamRequested,
402
+ requestedModel,
403
+ };
404
+ }
405
+ export function transformOpenAIChatResponseToAnthropicMessage(response, options) {
406
+ const parsed = parseJsonObject(response.body);
407
+ if (!parsed) {
408
+ return response;
409
+ }
410
+ if (response.statusCode >= 400) {
411
+ const openaiError = parsed.error && typeof parsed.error === 'object'
412
+ ? parsed.error
413
+ : null;
414
+ const message = openaiError && typeof openaiError.message === 'string'
415
+ ? openaiError.message
416
+ : 'Upstream error';
417
+ const anthropicError = {
418
+ type: 'error',
419
+ error: {
420
+ type: 'api_error',
421
+ message,
422
+ },
423
+ };
424
+ return {
425
+ ...response,
426
+ headers: {
427
+ ...response.headers,
428
+ 'content-type': options.streamRequested ? 'text/event-stream' : 'application/json',
429
+ },
430
+ body: options.streamRequested
431
+ ? new TextEncoder().encode(`event: error\ndata: ${JSON.stringify(anthropicError)}\n\n`)
432
+ : encodeJson(anthropicError),
433
+ };
434
+ }
435
+ const choices = Array.isArray(parsed.choices) ? parsed.choices : [];
436
+ const firstChoice = choices[0] && typeof choices[0] === 'object'
437
+ ? choices[0]
438
+ : null;
439
+ const message = firstChoice?.message && typeof firstChoice.message === 'object'
440
+ ? firstChoice.message
441
+ : null;
442
+ const finishReason = mapFinishReasonToAnthropicStopReason(firstChoice?.finish_reason);
443
+ const contentBlocks = [];
444
+ const textContent = toStringContent(message?.content);
445
+ if (textContent.length > 0) {
446
+ contentBlocks.push({ type: 'text', text: textContent });
447
+ }
448
+ const toolCalls = Array.isArray(message?.tool_calls) ? message.tool_calls : [];
449
+ for (const [index, toolCallRaw] of toolCalls.entries()) {
450
+ if (!toolCallRaw || typeof toolCallRaw !== 'object') {
451
+ continue;
452
+ }
453
+ const toolCall = toolCallRaw;
454
+ const functionPayload = toolCall.function && typeof toolCall.function === 'object'
455
+ ? toolCall.function
456
+ : {};
457
+ const id = typeof toolCall.id === 'string' && toolCall.id.length > 0
458
+ ? toolCall.id
459
+ : `toolu_${index + 1}`;
460
+ const name = typeof functionPayload.name === 'string' && functionPayload.name.length > 0
461
+ ? functionPayload.name
462
+ : 'tool';
463
+ const argsRaw = typeof functionPayload.arguments === 'string' ? functionPayload.arguments : '{}';
464
+ const parsedArgs = parseJsonSafe(argsRaw);
465
+ contentBlocks.push({
466
+ type: 'tool_use',
467
+ id,
468
+ name,
469
+ input: parsedArgs && typeof parsedArgs === 'object' && !Array.isArray(parsedArgs)
470
+ ? parsedArgs
471
+ : { raw: argsRaw },
472
+ });
473
+ }
474
+ const usage = parsed.usage && typeof parsed.usage === 'object'
475
+ ? parsed.usage
476
+ : {};
477
+ const inputTokens = toNonNegativeInt(usage.prompt_tokens ?? usage.input_tokens);
478
+ const outputTokens = toNonNegativeInt(usage.completion_tokens ?? usage.output_tokens);
479
+ const id = typeof parsed.id === 'string' && parsed.id.length > 0 ? parsed.id : `msg_${response.requestId}`;
480
+ const model = typeof parsed.model === 'string' && parsed.model.length > 0
481
+ ? parsed.model
482
+ : (options.fallbackModel ?? 'unknown');
483
+ const anthropicMessage = {
484
+ id,
485
+ type: 'message',
486
+ role: 'assistant',
487
+ model,
488
+ content: contentBlocks,
489
+ stop_reason: finishReason,
490
+ stop_sequence: null,
491
+ usage: {
492
+ input_tokens: inputTokens,
493
+ output_tokens: outputTokens,
494
+ },
495
+ };
496
+ if (options.streamRequested) {
497
+ return {
498
+ ...response,
499
+ headers: {
500
+ ...response.headers,
501
+ 'content-type': 'text/event-stream',
502
+ 'cache-control': 'no-cache',
503
+ },
504
+ body: buildAnthropicStreamFromMessage({
505
+ id,
506
+ model,
507
+ content: contentBlocks,
508
+ stopReason: finishReason,
509
+ usage: {
510
+ inputTokens,
511
+ outputTokens,
512
+ },
513
+ }),
514
+ };
515
+ }
516
+ return {
517
+ ...response,
518
+ headers: {
519
+ ...response.headers,
520
+ 'content-type': 'application/json',
521
+ },
522
+ body: encodeJson(anthropicMessage),
523
+ };
524
+ }
525
+ //# sourceMappingURL=model-api-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-api-adapter.js","sourceRoot":"","sources":["../../src/proxy/model-api-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-api-adapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-api-adapter.test.d.ts","sourceRoot":"","sources":["../../src/proxy/model-api-adapter.test.ts"],"names":[],"mappings":""}