universal-llm-client 4.0.0 → 4.1.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/dist/ai-model.d.ts +20 -22
- package/dist/ai-model.d.ts.map +1 -1
- package/dist/ai-model.js +26 -23
- package/dist/ai-model.js.map +1 -1
- package/dist/client.d.ts +5 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +17 -9
- package/dist/client.js.map +1 -1
- package/dist/http.d.ts +2 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +1 -0
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +49 -11
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +14 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/providers/anthropic.d.ts +56 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +524 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/google.d.ts +5 -0
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +64 -8
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/ollama.d.ts.map +1 -1
- package/dist/providers/ollama.js +38 -11
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +9 -7
- package/dist/providers/openai.js.map +1 -1
- package/dist/router.d.ts +13 -33
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +33 -57
- package/dist/router.js.map +1 -1
- package/dist/stream-decoder.d.ts +29 -2
- package/dist/stream-decoder.d.ts.map +1 -1
- package/dist/stream-decoder.js +39 -11
- package/dist/stream-decoder.js.map +1 -1
- package/dist/structured-output.d.ts +84 -181
- package/dist/structured-output.d.ts.map +1 -1
- package/dist/structured-output.js +79 -187
- package/dist/structured-output.js.map +1 -1
- package/dist/zod-adapter.d.ts +44 -0
- package/dist/zod-adapter.d.ts.map +1 -0
- package/dist/zod-adapter.js +61 -0
- package/dist/zod-adapter.js.map +1 -0
- package/package.json +9 -1
- package/src/ai-model.ts +350 -0
- package/src/auditor.ts +213 -0
- package/src/client.ts +402 -0
- package/src/debug/debug-google-streaming.ts +97 -0
- package/src/debug/debug-tool-execution.ts +86 -0
- package/src/debug/test-lmstudio-tools.ts +155 -0
- package/src/demos/README.md +47 -0
- package/src/demos/basic/universal-llm-examples.ts +161 -0
- package/src/demos/mcp/astrid-memory-demo.ts +295 -0
- package/src/demos/mcp/astrid-persona-memory.ts +357 -0
- package/src/demos/mcp/mcp-mongodb-demo.ts +275 -0
- package/src/demos/mcp/simple-astrid-memory.ts +148 -0
- package/src/demos/mcp/simple-mcp-demo.ts +68 -0
- package/src/demos/mcp/working-mcp-demo.ts +62 -0
- package/src/demos/model-alias-demo.ts +0 -0
- package/src/demos/tools/RAG_MEMORY_INTEGRATION.md +267 -0
- package/src/demos/tools/astrid-memory-demo.ts +270 -0
- package/src/demos/tools/astrid-production-memory-clean.ts +785 -0
- package/src/demos/tools/astrid-production-memory.ts +558 -0
- package/src/demos/tools/basic-translation-test.ts +66 -0
- package/src/demos/tools/chromadb-similarity-tuning.ts +390 -0
- package/src/demos/tools/clean-multilingual-conversation.ts +209 -0
- package/src/demos/tools/clean-translation-test.ts +119 -0
- package/src/demos/tools/clean-universal-multilingual-test.ts +131 -0
- package/src/demos/tools/complete-rag-demo.ts +369 -0
- package/src/demos/tools/complete-tool-demo.ts +132 -0
- package/src/demos/tools/demo-tool-calling.ts +124 -0
- package/src/demos/tools/dynamic-language-switching-test.ts +251 -0
- package/src/demos/tools/hybrid-thinking-test.ts +154 -0
- package/src/demos/tools/memory-integration-test.ts +420 -0
- package/src/demos/tools/multilingual-memory-system.ts +802 -0
- package/src/demos/tools/ondemand-translation-demo.ts +655 -0
- package/src/demos/tools/production-tool-demo.ts +245 -0
- package/src/demos/tools/revolutionary-multilingual-test.ts +151 -0
- package/src/demos/tools/rigorous-language-analysis.ts +218 -0
- package/src/demos/tools/test-universal-memory-system.ts +126 -0
- package/src/demos/tools/translation-integration-guide.ts +346 -0
- package/src/demos/tools/universal-memory-system.ts +560 -0
- package/src/http.ts +247 -0
- package/src/index.ts +160 -0
- package/src/interfaces.ts +657 -0
- package/src/mcp.ts +345 -0
- package/src/providers/anthropic.ts +762 -0
- package/src/providers/google.ts +620 -0
- package/src/providers/index.ts +8 -0
- package/src/providers/ollama.ts +469 -0
- package/src/providers/openai.ts +392 -0
- package/src/router.ts +780 -0
- package/src/stream-decoder.ts +361 -0
- package/src/structured-output.ts +702 -0
- package/src/test-scripts/test-advanced-tools.ts +310 -0
- package/src/test-scripts/test-google-streaming-enhanced.ts +147 -0
- package/src/test-scripts/test-google-streaming.ts +63 -0
- package/src/test-scripts/test-google-system-prompt-comprehensive.ts +189 -0
- package/src/test-scripts/test-mcp-config.ts +28 -0
- package/src/test-scripts/test-mcp-connection.ts +29 -0
- package/src/test-scripts/test-system-message-positions.ts +163 -0
- package/src/test-scripts/test-system-prompt-improvement-demo.ts +83 -0
- package/src/test-scripts/test-tool-calling.ts +231 -0
- package/src/tests/ai-model.test.ts +1614 -0
- package/src/tests/auditor.test.ts +224 -0
- package/src/tests/http.test.ts +200 -0
- package/src/tests/interfaces.test.ts +117 -0
- package/src/tests/providers/google.test.ts +660 -0
- package/src/tests/providers/ollama.test.ts +954 -0
- package/src/tests/providers/openai.test.ts +1122 -0
- package/src/tests/router.test.ts +254 -0
- package/src/tests/stream-decoder.test.ts +179 -0
- package/src/tests/structured-output.test.ts +1340 -0
- package/src/tests/tools.test.ts +175 -0
- package/src/tools.ts +246 -0
- package/src/zod-adapter.ts +72 -0
package/dist/interfaces.d.ts
CHANGED
|
@@ -13,7 +13,8 @@ export declare enum AIModelApiType {
|
|
|
13
13
|
OpenAI = "openai",
|
|
14
14
|
Google = "google",
|
|
15
15
|
Vertex = "vertex",
|
|
16
|
-
LlamaCpp = "llamacpp"
|
|
16
|
+
LlamaCpp = "llamacpp",
|
|
17
|
+
Anthropic = "anthropic"
|
|
17
18
|
}
|
|
18
19
|
export interface ModelMetadata {
|
|
19
20
|
/** Model name as reported by provider */
|
|
@@ -29,7 +30,7 @@ export interface ModelMetadata {
|
|
|
29
30
|
}
|
|
30
31
|
export interface ProviderConfig {
|
|
31
32
|
/** Provider type */
|
|
32
|
-
type: AIModelApiType | 'ollama' | 'openai' | 'google' | 'vertex' | 'llamacpp';
|
|
33
|
+
type: AIModelApiType | 'ollama' | 'openai' | 'google' | 'vertex' | 'llamacpp' | 'anthropic';
|
|
33
34
|
/** Provider endpoint URL (has sensible defaults per type) */
|
|
34
35
|
url?: string;
|
|
35
36
|
/** API key or Bearer token */
|
|
@@ -98,7 +99,16 @@ export interface LLMImageContent {
|
|
|
98
99
|
detail?: 'auto' | 'low' | 'high';
|
|
99
100
|
};
|
|
100
101
|
}
|
|
101
|
-
export
|
|
102
|
+
export interface LLMAudioContent {
|
|
103
|
+
type: 'audio';
|
|
104
|
+
audio: {
|
|
105
|
+
/** Raw base64-encoded audio data */
|
|
106
|
+
data: string;
|
|
107
|
+
/** MIME type (e.g. 'audio/ogg', 'audio/wav', 'audio/mp3') */
|
|
108
|
+
mimeType: string;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export type LLMContentPart = LLMTextContent | LLMImageContent | LLMAudioContent;
|
|
102
112
|
export type LLMMessageContent = string | LLMContentPart[];
|
|
103
113
|
export interface LLMChatMessage {
|
|
104
114
|
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
@@ -193,10 +203,11 @@ export interface ResponseFormat {
|
|
|
193
203
|
*/
|
|
194
204
|
export interface OutputOptions<T = unknown> {
|
|
195
205
|
/**
|
|
196
|
-
*
|
|
197
|
-
* Use
|
|
206
|
+
* Schema configuration for structured output.
|
|
207
|
+
* Use `fromZod()` from `universal-llm-client/zod` to create from a Zod schema,
|
|
208
|
+
* or provide a raw SchemaConfig with jsonSchema + optional validate function.
|
|
198
209
|
*/
|
|
199
|
-
schema?: import('
|
|
210
|
+
schema?: import('./structured-output.js').SchemaConfig<T>;
|
|
200
211
|
/**
|
|
201
212
|
* Raw JSON Schema for structured output.
|
|
202
213
|
* Alternative to `schema` when you have a pre-defined schema.
|
|
@@ -230,12 +241,21 @@ export interface ChatOptions {
|
|
|
230
241
|
toolChoice?: 'none' | 'auto' | 'required';
|
|
231
242
|
/** Additional provider-specific parameters */
|
|
232
243
|
parameters?: Record<string, unknown>;
|
|
244
|
+
/** Abort signal for cancellation (forwarded to HTTP layer) */
|
|
245
|
+
signal?: AbortSignal;
|
|
233
246
|
/** Enable/disable tool execution for chatWithTools */
|
|
234
247
|
executeTools?: boolean;
|
|
248
|
+
/** Enable prompt caching (Provider specific feature, opt-in for Anthropic) */
|
|
249
|
+
enablePromptCaching?: boolean;
|
|
235
250
|
/** Maximum tool execution rounds (default: 10) */
|
|
236
251
|
maxIterations?: number;
|
|
237
|
-
/**
|
|
238
|
-
|
|
252
|
+
/**
|
|
253
|
+
* Stream decoder selection. Accepts:
|
|
254
|
+
* - A built-in type name: 'passthrough' | 'standard-chat' | 'interleaved-reasoning'
|
|
255
|
+
* - A custom type name registered via `registerDecoder()`
|
|
256
|
+
* - A pre-built `StreamDecoder` instance for full control
|
|
257
|
+
*/
|
|
258
|
+
decoder?: import('./stream-decoder.js').DecoderType | string | import('./stream-decoder.js').StreamDecoder;
|
|
239
259
|
/**
|
|
240
260
|
* Structured output options for chat responses.
|
|
241
261
|
* When provided, the response will include a `structured` property
|
|
@@ -254,13 +274,12 @@ export interface ChatOptions {
|
|
|
254
274
|
*/
|
|
255
275
|
output?: OutputOptions;
|
|
256
276
|
/**
|
|
257
|
-
*
|
|
277
|
+
* Schema configuration for structured output.
|
|
258
278
|
* When provided, the response is validated against this schema.
|
|
259
|
-
* Structured output and tools cannot be used together.
|
|
260
279
|
*
|
|
261
280
|
* @deprecated Use `output.schema` or `generateStructured()` instead.
|
|
262
281
|
*/
|
|
263
|
-
schema?: import('
|
|
282
|
+
schema?: import('./structured-output.js').SchemaConfig<unknown>;
|
|
264
283
|
/**
|
|
265
284
|
* Raw JSON Schema for structured output.
|
|
266
285
|
* Alternative to `schema` when you have a pre-defined schema.
|
|
@@ -288,11 +307,17 @@ export interface ChatOptions {
|
|
|
288
307
|
* Use { type: 'json_object' } for legacy JSON mode without schema validation.
|
|
289
308
|
*/
|
|
290
309
|
responseFormat?: ResponseFormat;
|
|
310
|
+
/** Inference tier selection (provider-specific; Google supports 'flex' and 'priority').
|
|
311
|
+
* - 'flex': 50% cost reduction, best-effort, higher latency (background tasks)
|
|
312
|
+
* - 'priority': Premium pricing, lowest latency, highest reliability (interactive)
|
|
313
|
+
* - 'standard': Default behavior (omitted from request) */
|
|
314
|
+
serviceTier?: 'flex' | 'priority' | 'standard';
|
|
291
315
|
}
|
|
292
316
|
export interface TokenUsageInfo {
|
|
293
317
|
inputTokens: number;
|
|
294
318
|
outputTokens: number;
|
|
295
319
|
totalTokens: number;
|
|
320
|
+
cachedTokens?: number;
|
|
296
321
|
}
|
|
297
322
|
export interface LLMChatResponse<T = unknown> {
|
|
298
323
|
message: LLMChatMessage;
|
|
@@ -323,6 +348,8 @@ export interface LLMChatResponse<T = unknown> {
|
|
|
323
348
|
* ```
|
|
324
349
|
*/
|
|
325
350
|
structured?: T;
|
|
351
|
+
/** Which inference tier actually served this response (from provider response headers, e.g. x-gemini-service-tier) */
|
|
352
|
+
serviceTier?: 'flex' | 'priority' | 'standard';
|
|
326
353
|
}
|
|
327
354
|
export interface OllamaResponse {
|
|
328
355
|
model: string;
|
|
@@ -357,6 +384,10 @@ export interface OpenAIResponse {
|
|
|
357
384
|
prompt_tokens: number;
|
|
358
385
|
completion_tokens: number;
|
|
359
386
|
total_tokens: number;
|
|
387
|
+
prompt_tokens_details?: {
|
|
388
|
+
cached_tokens?: number;
|
|
389
|
+
audio_tokens?: number;
|
|
390
|
+
};
|
|
360
391
|
};
|
|
361
392
|
}
|
|
362
393
|
export interface OllamaModelInfo {
|
|
@@ -436,6 +467,8 @@ export interface GoogleRequest {
|
|
|
436
467
|
functionDeclarations: GoogleFunctionDeclaration[];
|
|
437
468
|
}>;
|
|
438
469
|
toolConfig?: GoogleToolConfig;
|
|
470
|
+
/** Inference tier: FLEX (50% off, best-effort) or PRIORITY (premium, highest reliability) */
|
|
471
|
+
service_tier?: 'FLEX' | 'PRIORITY' | 'STANDARD';
|
|
439
472
|
}
|
|
440
473
|
export interface GoogleCandidate {
|
|
441
474
|
content: {
|
|
@@ -451,6 +484,7 @@ export interface GoogleResponse {
|
|
|
451
484
|
promptTokenCount: number;
|
|
452
485
|
candidatesTokenCount: number;
|
|
453
486
|
totalTokenCount: number;
|
|
487
|
+
cachedContentTokenCount?: number;
|
|
454
488
|
};
|
|
455
489
|
}
|
|
456
490
|
/** Create a text content part */
|
|
@@ -463,4 +497,8 @@ export declare function multimodalMessage(text: string, images: string[], mimeTy
|
|
|
463
497
|
export declare function extractTextContent(content: LLMMessageContent): string;
|
|
464
498
|
/** Check if message content contains images */
|
|
465
499
|
export declare function hasImages(content: LLMMessageContent): boolean;
|
|
500
|
+
/** Create an audio content part from raw base64 data */
|
|
501
|
+
export declare function audioContent(base64Data: string, mimeType: string): LLMAudioContent;
|
|
502
|
+
/** Check if message content contains audio */
|
|
503
|
+
export declare function hasAudio(content: LLMMessageContent): boolean;
|
|
466
504
|
//# sourceMappingURL=interfaces.d.ts.map
|
package/dist/interfaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;CAC1B;AAED,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,QAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/dist/interfaces.js
CHANGED
|
@@ -19,6 +19,7 @@ export var AIModelApiType;
|
|
|
19
19
|
AIModelApiType["Google"] = "google";
|
|
20
20
|
AIModelApiType["Vertex"] = "vertex";
|
|
21
21
|
AIModelApiType["LlamaCpp"] = "llamacpp";
|
|
22
|
+
AIModelApiType["Anthropic"] = "anthropic";
|
|
22
23
|
})(AIModelApiType || (AIModelApiType = {}));
|
|
23
24
|
// ============================================================================
|
|
24
25
|
// Helper Functions
|
|
@@ -60,4 +61,17 @@ export function hasImages(content) {
|
|
|
60
61
|
return false;
|
|
61
62
|
return content.some(part => part.type === 'image_url');
|
|
62
63
|
}
|
|
64
|
+
/** Create an audio content part from raw base64 data */
|
|
65
|
+
export function audioContent(base64Data, mimeType) {
|
|
66
|
+
return {
|
|
67
|
+
type: 'audio',
|
|
68
|
+
audio: { data: base64Data, mimeType },
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/** Check if message content contains audio */
|
|
72
|
+
export function hasAudio(content) {
|
|
73
|
+
if (typeof content === 'string')
|
|
74
|
+
return false;
|
|
75
|
+
return content.some(part => part.type === 'audio');
|
|
76
|
+
}
|
|
63
77
|
//# sourceMappingURL=interfaces.js.map
|
package/dist/interfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,sCAAuB,CAAA;AAC3B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,sCAAuB,CAAA;AAC3B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;AAC3B,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAyjBD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,iCAAiC;AACjC,MAAM,UAAU,WAAW,CAAC,IAAY;IACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,YAAY,CACxB,eAAuB,EACvB,WAAmB,YAAY,EAC/B,MAAgC;IAEhC,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC;QACjF,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,QAAQ,QAAQ,WAAW,eAAe,EAAE,CAAC;IACnD,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;KAC7B,CAAC;AACN,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,iBAAiB,CAC7B,IAAY,EACZ,MAAgB,EAChB,WAAmB,YAAY;IAE/B,MAAM,OAAO,GAAqB;QAC9B,WAAW,CAAC,IAAI,CAAC;QACjB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;KACpD,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,kBAAkB,CAAC,OAA0B;IACzD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,OAAO;SACT,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;SAC9D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACtB,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,SAAS,CAAC,OAA0B;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AAC3D,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,QAAgB;IAC7D,OAAO;QACH,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE;KACxC,CAAC;AACN,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,QAAQ,CAAC,OAA0B;IAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal LLM Client v3 — Anthropic Messages API Provider
|
|
3
|
+
*
|
|
4
|
+
* Implements BaseLLMClient for Anthropic's Messages API (Claude).
|
|
5
|
+
* Uses the custom Anthropic protocol — NOT OpenAI-compatible.
|
|
6
|
+
*
|
|
7
|
+
* Key differences from OpenAI:
|
|
8
|
+
* - Endpoint: POST /v1/messages (not /chat/completions)
|
|
9
|
+
* - Auth: x-api-key header (not Authorization: Bearer)
|
|
10
|
+
* - System prompt: top-level `system` field, not a message
|
|
11
|
+
* - Messages: content is always an array of content blocks
|
|
12
|
+
* - Tool calls: `tool_use` content blocks (not tool_calls array)
|
|
13
|
+
* - Tool results: `tool_result` content blocks in user messages
|
|
14
|
+
* - Streaming: content_block_start/delta/stop events with typed deltas
|
|
15
|
+
*/
|
|
16
|
+
import { BaseLLMClient } from '../client.js';
|
|
17
|
+
import type { LLMClientOptions, LLMChatMessage, LLMChatResponse, ChatOptions, ModelMetadata } from '../interfaces.js';
|
|
18
|
+
import type { DecodedEvent } from '../stream-decoder.js';
|
|
19
|
+
import type { Auditor } from '../auditor.js';
|
|
20
|
+
export declare class AnthropicClient extends BaseLLMClient {
|
|
21
|
+
private readonly baseUrl;
|
|
22
|
+
constructor(options: LLMClientOptions, auditor?: Auditor);
|
|
23
|
+
private buildAnthropicHeaders;
|
|
24
|
+
chat(messages: LLMChatMessage[], options?: ChatOptions): Promise<LLMChatResponse>;
|
|
25
|
+
chatStream(messages: LLMChatMessage[], options?: ChatOptions): AsyncGenerator<DecodedEvent, LLMChatResponse | void, unknown>;
|
|
26
|
+
embed(_text: string): Promise<number[]>;
|
|
27
|
+
getModels(): Promise<string[]>;
|
|
28
|
+
getModelInfo(_modelName?: string): Promise<ModelMetadata>;
|
|
29
|
+
private buildRequestBody;
|
|
30
|
+
/**
|
|
31
|
+
* Convert our canonical LLMChatMessage[] to Anthropic's message format.
|
|
32
|
+
* Key conversions:
|
|
33
|
+
* - 'tool' role messages → merged into preceding user message as tool_result blocks
|
|
34
|
+
* - assistant messages with tool_calls → assistant message with tool_use blocks
|
|
35
|
+
* - multimodal content → Anthropic image blocks
|
|
36
|
+
*/
|
|
37
|
+
private convertMessages;
|
|
38
|
+
/**
|
|
39
|
+
* Convert user message content (string or multimodal) to Anthropic blocks.
|
|
40
|
+
*/
|
|
41
|
+
private convertUserContent;
|
|
42
|
+
/**
|
|
43
|
+
* Ensure messages alternate between user and assistant roles.
|
|
44
|
+
* Anthropic requires strict alternation. Merge consecutive same-role messages.
|
|
45
|
+
*/
|
|
46
|
+
private ensureAlternating;
|
|
47
|
+
/**
|
|
48
|
+
* Parse Anthropic's response format into our canonical LLMChatResponse.
|
|
49
|
+
*/
|
|
50
|
+
private parseAnthropicResponse;
|
|
51
|
+
/** Convert OpenAI-format tool definition to Anthropic format */
|
|
52
|
+
private convertToolDef;
|
|
53
|
+
/** Extract text from multimodal content */
|
|
54
|
+
private extractText;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,KAAK,EACR,gBAAgB,EAChB,cAAc,EACd,eAAe,EAGf,WAAW,EAEX,aAAa,EAGhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AA8J7C,qBAAa,eAAgB,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO;IAUxD,OAAO,CAAC,qBAAqB;IAed,IAAI,CACf,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,eAAe,CAAC;IAsCX,UAAU,CACtB,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,CAAC,EAAE,WAAW,GACtB,cAAc,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,EAAE,OAAO,CAAC;IAoKjD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQvC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAoB9B,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBxE,OAAO,CAAC,gBAAgB;IAiDxB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA2EvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0C1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4C9B,gEAAgE;IAChE,OAAO,CAAC,cAAc;IAYtB,2CAA2C;IAC3C,OAAO,CAAC,WAAW;CAOtB"}
|