@antseed/cli 0.1.3 → 0.1.5

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