universal-llm-client 3.1.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/CHANGELOG.md +39 -0
- package/README.md +177 -0
- package/dist/ai-model.d.ts +87 -0
- package/dist/ai-model.d.ts.map +1 -1
- package/dist/ai-model.js +99 -0
- package/dist/ai-model.js.map +1 -1
- package/dist/auditor.d.ts +5 -1
- package/dist/auditor.d.ts.map +1 -1
- package/dist/auditor.js +9 -0
- package/dist/auditor.js.map +1 -1
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +60 -0
- 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 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +186 -6
- 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 +81 -4
- 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 +13 -1
- package/dist/providers/ollama.d.ts.map +1 -1
- package/dist/providers/ollama.js +72 -10
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/openai.d.ts +4 -0
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +53 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/router.d.ts +50 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +319 -0
- 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 +370 -0
- package/dist/structured-output.d.ts.map +1 -0
- package/dist/structured-output.js +397 -0
- package/dist/structured-output.js.map +1 -0
- 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 +23 -4
- 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/client.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Handles tool registration, execution, and the autonomous
|
|
6
6
|
* multi-turn tool execution loop.
|
|
7
7
|
*/
|
|
8
|
+
import { StructuredOutputError, } from './structured-output.js';
|
|
8
9
|
import { NoopAuditor } from './auditor.js';
|
|
9
10
|
// ============================================================================
|
|
10
11
|
// Abstract Base Client
|
|
@@ -236,5 +237,64 @@ export class BaseLLMClient {
|
|
|
236
237
|
generateToolCallId() {
|
|
237
238
|
return `call_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
|
|
238
239
|
}
|
|
240
|
+
// ========================================================================
|
|
241
|
+
// Structured Output Helpers (shared across all providers)
|
|
242
|
+
// ========================================================================
|
|
243
|
+
/**
|
|
244
|
+
* Extract schema options from ChatOptions.
|
|
245
|
+
* Returns null if no schema is provided.
|
|
246
|
+
* Returns a SchemaConfig if a schema was found.
|
|
247
|
+
*/
|
|
248
|
+
extractSchemaOptions(options) {
|
|
249
|
+
if (!options)
|
|
250
|
+
return null;
|
|
251
|
+
if (options.schema) {
|
|
252
|
+
return {
|
|
253
|
+
schemaConfig: options.schema,
|
|
254
|
+
name: options.schemaName,
|
|
255
|
+
description: options.schemaDescription,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
if (options.jsonSchema) {
|
|
259
|
+
// Raw JSON Schema without validation
|
|
260
|
+
const config = {
|
|
261
|
+
jsonSchema: options.jsonSchema,
|
|
262
|
+
};
|
|
263
|
+
return {
|
|
264
|
+
schemaConfig: config,
|
|
265
|
+
name: options.schemaName,
|
|
266
|
+
description: options.schemaDescription,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Validate structured response using a SchemaConfig.
|
|
273
|
+
* Throws StructuredOutputError on failure.
|
|
274
|
+
*/
|
|
275
|
+
validateStructuredResponse(content, config) {
|
|
276
|
+
if (!content) {
|
|
277
|
+
throw new StructuredOutputError('Empty response from LLM', { rawOutput: content });
|
|
278
|
+
}
|
|
279
|
+
let parsed;
|
|
280
|
+
try {
|
|
281
|
+
parsed = JSON.parse(content);
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
const syntaxError = error instanceof SyntaxError
|
|
285
|
+
? error
|
|
286
|
+
: new SyntaxError(String(error));
|
|
287
|
+
throw new StructuredOutputError(`Failed to parse JSON: ${syntaxError.message}`, { rawOutput: content, cause: syntaxError });
|
|
288
|
+
}
|
|
289
|
+
if (config.validate) {
|
|
290
|
+
try {
|
|
291
|
+
config.validate(parsed);
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
const validationError = error instanceof Error ? error : new Error(String(error));
|
|
295
|
+
throw new StructuredOutputError(`Validation failed: ${validationError.message}`, { rawOutput: content, cause: validationError });
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
239
299
|
}
|
|
240
300
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/http.d.ts
CHANGED
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMxD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMxD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,EACzC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GACjC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CA6C1B;AAMD;;;GAGG;AACH,wBAAuB,UAAU,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GACjC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAoDvC;AAMD;;;GAGG;AACH,wBAAuB,WAAW,CAAC,CAAC,GAAG,OAAO,EAC1C,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAC/B,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CA4BlC;AAED;;;GAGG;AACH,wBAAuB,QAAQ,CAC3B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAC/B,cAAc,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CA6BjE;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9E"}
|
package/dist/http.js
CHANGED
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
* @module universal-llm-client
|
|
8
8
|
*/
|
|
9
9
|
export { AIModel } from './ai-model.js';
|
|
10
|
-
export { AIModelApiType, AIModelType, type AIModelConfig, type ProviderConfig, type LLMClientOptions, type LLMChatMessage, type LLMMessageContent, type LLMContentPart, type LLMTextContent, type LLMImageContent, type LLMChatResponse, type TokenUsageInfo, type LLMToolCall, type LLMToolDefinition, type LLMFunction, type ToolHandler, type ToolExecutionResult, type ToolRegistry, type ToolRegistryEntry, type ChatOptions, type ModelMetadata, textContent, imageContent, multimodalMessage, extractTextContent, hasImages, } from './interfaces.js';
|
|
10
|
+
export { AIModelApiType, AIModelType, type AIModelConfig, type ProviderConfig, type LLMClientOptions, type LLMChatMessage, type LLMMessageContent, type LLMContentPart, type LLMTextContent, type LLMImageContent, type LLMAudioContent, type LLMChatResponse, type TokenUsageInfo, type LLMToolCall, type LLMToolDefinition, type LLMFunction, type ToolHandler, type ToolExecutionResult, type ToolRegistry, type ToolRegistryEntry, type ChatOptions, type ResponseFormat, type OutputOptions, type ModelMetadata, textContent, imageContent, multimodalMessage, extractTextContent, hasImages, audioContent, hasAudio, } from './interfaces.js';
|
|
11
11
|
export { type Auditor, type AuditEvent, type AuditEventType, NoopAuditor, ConsoleAuditor, BufferedAuditor, } from './auditor.js';
|
|
12
|
-
export { type StreamDecoder, type DecodedEvent, type DecoderCallback, type DecoderType, type DecoderOptions, createDecoder, PassthroughDecoder, StandardChatDecoder, InterleavedReasoningDecoder, } from './stream-decoder.js';
|
|
12
|
+
export { type StreamDecoder, type DecodedEvent, type DecoderCallback, type DecoderType, type DecoderOptions, type DecoderFactory, createDecoder, registerDecoder, getRegisteredDecoders, PassthroughDecoder, StandardChatDecoder, InterleavedReasoningDecoder, } from './stream-decoder.js';
|
|
13
13
|
export { ToolBuilder, ToolExecutor, createTimeTool, createRandomNumberTool, } from './tools.js';
|
|
14
14
|
export { httpRequest, httpStream, parseNDJSON, parseSSE, buildHeaders, type HttpRequestOptions, type HttpResponse, } from './http.js';
|
|
15
15
|
export { MCPToolBridge, type MCPBridgeConfig, type MCPServerConfig, type MCPTool, } from './mcp.js';
|
|
16
|
+
export { StructuredOutputError, type StructuredOutputErrorOptions, type StructuredOutputOptions, type StructuredOutputResult, type StructuredOutputSuccess, type StructuredOutputFailure, type JSONSchema, type SchemaProvider, type ProviderSchema, type SchemaConfig, isStructuredOutputSuccess, isStructuredOutputFailure, normalizeJsonSchema, convertToProviderSchema, stripUnsupportedFeatures, getJsonSchema, getJsonSchemaFromConfig, parseStructured, tryParseStructured, validateStructuredOutput, StreamingJsonParser, type StreamingStructuredResult, } from './structured-output.js';
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,OAAO,EAEH,cAAc,EACd,WAAW,EAEX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,OAAO,EAEH,cAAc,EACd,WAAW,EAEX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAElB,KAAK,aAAa,EAElB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,QAAQ,GACX,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,WAAW,EACX,cAAc,EACd,eAAe,GAClB,MAAM,cAAc,CAAC;AAMtB,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACH,WAAW,EACX,YAAY,EACZ,cAAc,EACd,sBAAsB,GACzB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACH,WAAW,EACX,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,YAAY,GACpB,MAAM,WAAW,CAAC;AAMnB,OAAO,EACH,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,OAAO,GACf,MAAM,UAAU,CAAC;AAMlB,OAAO,EACH,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,yBAAyB,EACzB,yBAAyB,EAEzB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,uBAAuB,EAEvB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EAExB,mBAAmB,EACnB,KAAK,yBAAyB,GACjC,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export {
|
|
|
17
17
|
// Enums
|
|
18
18
|
AIModelApiType, AIModelType,
|
|
19
19
|
// Helpers
|
|
20
|
-
textContent, imageContent, multimodalMessage, extractTextContent, hasImages, } from './interfaces.js';
|
|
20
|
+
textContent, imageContent, multimodalMessage, extractTextContent, hasImages, audioContent, hasAudio, } from './interfaces.js';
|
|
21
21
|
// ============================================================================
|
|
22
22
|
// Observability
|
|
23
23
|
// ============================================================================
|
|
@@ -25,7 +25,7 @@ export { NoopAuditor, ConsoleAuditor, BufferedAuditor, } from './auditor.js';
|
|
|
25
25
|
// ============================================================================
|
|
26
26
|
// Stream Decoding
|
|
27
27
|
// ============================================================================
|
|
28
|
-
export { createDecoder, PassthroughDecoder, StandardChatDecoder, InterleavedReasoningDecoder, } from './stream-decoder.js';
|
|
28
|
+
export { createDecoder, registerDecoder, getRegisteredDecoders, PassthroughDecoder, StandardChatDecoder, InterleavedReasoningDecoder, } from './stream-decoder.js';
|
|
29
29
|
// ============================================================================
|
|
30
30
|
// Tool Utilities
|
|
31
31
|
// ============================================================================
|
|
@@ -38,4 +38,14 @@ export { httpRequest, httpStream, parseNDJSON, parseSSE, buildHeaders, } from '.
|
|
|
38
38
|
// MCP Integration
|
|
39
39
|
// ============================================================================
|
|
40
40
|
export { MCPToolBridge, } from './mcp.js';
|
|
41
|
+
// ============================================================================
|
|
42
|
+
// Structured Output
|
|
43
|
+
// ============================================================================
|
|
44
|
+
export { StructuredOutputError, isStructuredOutputSuccess, isStructuredOutputFailure,
|
|
45
|
+
// Schema conversion utilities
|
|
46
|
+
normalizeJsonSchema, convertToProviderSchema, stripUnsupportedFeatures, getJsonSchema, getJsonSchemaFromConfig,
|
|
47
|
+
// Validation functions
|
|
48
|
+
parseStructured, tryParseStructured, validateStructuredOutput,
|
|
49
|
+
// Streaming parser
|
|
50
|
+
StreamingJsonParser, } from './structured-output.js';
|
|
41
51
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO;AACH,QAAQ;AACR,cAAc,EACd,WAAW;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO;AACH,QAAQ;AACR,cAAc,EACd,WAAW;AA6BX,UAAU;AACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,QAAQ,GACX,MAAM,iBAAiB,CAAC;AAEzB,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EAIH,WAAW,EACX,cAAc,EACd,eAAe,GAClB,MAAM,cAAc,CAAC;AAEtB,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,OAAO,EAOH,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC;AAE7B,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,OAAO,EACH,WAAW,EACX,YAAY,EACZ,cAAc,EACd,sBAAsB,GACzB,MAAM,YAAY,CAAC;AAEpB,+EAA+E;AAC/E,0CAA0C;AAC1C,+EAA+E;AAE/E,OAAO,EACH,WAAW,EACX,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,GAGf,MAAM,WAAW,CAAC;AAEnB,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,OAAO,EACH,aAAa,GAIhB,MAAM,UAAU,CAAC;AAElB,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EACH,qBAAqB,EAUrB,yBAAyB,EACzB,yBAAyB;AACzB,8BAA8B;AAC9B,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,uBAAuB;AACvB,uBAAuB;AACvB,eAAe,EACf,kBAAkB,EAClB,wBAAwB;AACxB,mBAAmB;AACnB,mBAAmB,GAEtB,MAAM,wBAAwB,CAAC"}
|
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';
|
|
@@ -148,6 +158,78 @@ export interface ToolRegistryEntry {
|
|
|
148
158
|
export interface ToolRegistry {
|
|
149
159
|
[toolName: string]: ToolRegistryEntry;
|
|
150
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Response format for structured output.
|
|
163
|
+
*
|
|
164
|
+
* For json_schema mode, use: { type: 'json_schema', json_schema: { name, schema, strict } }
|
|
165
|
+
* For json_object mode (legacy), use: { type: 'json_object' }
|
|
166
|
+
*/
|
|
167
|
+
export interface ResponseFormat {
|
|
168
|
+
/** Response format type */
|
|
169
|
+
type: 'json_object' | 'json_schema';
|
|
170
|
+
/** JSON Schema definition (required for json_schema type) */
|
|
171
|
+
json_schema?: {
|
|
172
|
+
/** Name of the schema (for LLM guidance) */
|
|
173
|
+
name: string;
|
|
174
|
+
/** Schema description (optional, for LLM guidance) */
|
|
175
|
+
description?: string;
|
|
176
|
+
/** The JSON Schema */
|
|
177
|
+
schema: Record<string, unknown>;
|
|
178
|
+
/** Enable strict mode (required for reliable structured output) */
|
|
179
|
+
strict?: boolean;
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Output options for structured output in chat responses.
|
|
184
|
+
*
|
|
185
|
+
* When provided, the response will include a `structured` property with
|
|
186
|
+
* the validated, typed result. This is the recommended way to request
|
|
187
|
+
* structured output via the chat() method.
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* const UserSchema = z.object({
|
|
192
|
+
* name: z.string(),
|
|
193
|
+
* age: z.number(),
|
|
194
|
+
* });
|
|
195
|
+
*
|
|
196
|
+
* const response = await model.chat(messages, {
|
|
197
|
+
* output: { schema: UserSchema },
|
|
198
|
+
* });
|
|
199
|
+
*
|
|
200
|
+
* // response.structured is typed as { name: string, age: number }
|
|
201
|
+
* console.log(response.structured?.name);
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
export interface OutputOptions<T = unknown> {
|
|
205
|
+
/**
|
|
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.
|
|
209
|
+
*/
|
|
210
|
+
schema?: import('./structured-output.js').SchemaConfig<T>;
|
|
211
|
+
/**
|
|
212
|
+
* Raw JSON Schema for structured output.
|
|
213
|
+
* Alternative to `schema` when you have a pre-defined schema.
|
|
214
|
+
*/
|
|
215
|
+
jsonSchema?: import('./structured-output.js').JSONSchema;
|
|
216
|
+
/**
|
|
217
|
+
* Optional name for the schema.
|
|
218
|
+
* Used by providers like OpenAI for better LLM guidance.
|
|
219
|
+
*/
|
|
220
|
+
name?: string;
|
|
221
|
+
/**
|
|
222
|
+
* Optional description for the schema.
|
|
223
|
+
* Used by providers like OpenAI for better LLM guidance.
|
|
224
|
+
*/
|
|
225
|
+
description?: string;
|
|
226
|
+
/**
|
|
227
|
+
* Whether to use strict mode for schema validation (OpenAI only).
|
|
228
|
+
* When true, OpenAI enforces the schema exactly (no additional properties,
|
|
229
|
+
* limited schema subset). Defaults to `true`.
|
|
230
|
+
*/
|
|
231
|
+
strict?: boolean;
|
|
232
|
+
}
|
|
151
233
|
export interface ChatOptions {
|
|
152
234
|
/** Override temperature */
|
|
153
235
|
temperature?: number;
|
|
@@ -159,19 +241,85 @@ export interface ChatOptions {
|
|
|
159
241
|
toolChoice?: 'none' | 'auto' | 'required';
|
|
160
242
|
/** Additional provider-specific parameters */
|
|
161
243
|
parameters?: Record<string, unknown>;
|
|
244
|
+
/** Abort signal for cancellation (forwarded to HTTP layer) */
|
|
245
|
+
signal?: AbortSignal;
|
|
162
246
|
/** Enable/disable tool execution for chatWithTools */
|
|
163
247
|
executeTools?: boolean;
|
|
248
|
+
/** Enable prompt caching (Provider specific feature, opt-in for Anthropic) */
|
|
249
|
+
enablePromptCaching?: boolean;
|
|
164
250
|
/** Maximum tool execution rounds (default: 10) */
|
|
165
251
|
maxIterations?: number;
|
|
166
|
-
/**
|
|
167
|
-
|
|
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;
|
|
259
|
+
/**
|
|
260
|
+
* Structured output options for chat responses.
|
|
261
|
+
* When provided, the response will include a `structured` property
|
|
262
|
+
* with the validated result.
|
|
263
|
+
*
|
|
264
|
+
* **Note**: `output` and `tools` cannot be used together.
|
|
265
|
+
* If both are provided, an error will be thrown.
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
* ```typescript
|
|
269
|
+
* const response = await model.chat(messages, {
|
|
270
|
+
* output: { schema: UserSchema },
|
|
271
|
+
* });
|
|
272
|
+
* console.log(response.structured);
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
output?: OutputOptions;
|
|
276
|
+
/**
|
|
277
|
+
* Schema configuration for structured output.
|
|
278
|
+
* When provided, the response is validated against this schema.
|
|
279
|
+
*
|
|
280
|
+
* @deprecated Use `output.schema` or `generateStructured()` instead.
|
|
281
|
+
*/
|
|
282
|
+
schema?: import('./structured-output.js').SchemaConfig<unknown>;
|
|
283
|
+
/**
|
|
284
|
+
* Raw JSON Schema for structured output.
|
|
285
|
+
* Alternative to `schema` when you have a pre-defined schema.
|
|
286
|
+
*
|
|
287
|
+
* @deprecated Use `output.jsonSchema` or `generateStructured()` instead.
|
|
288
|
+
*/
|
|
289
|
+
jsonSchema?: import('./structured-output.js').JSONSchema;
|
|
290
|
+
/**
|
|
291
|
+
* Name for the schema (optional, used for LLM guidance).
|
|
292
|
+
* Required by some providers (e.g., OpenAI strict mode).
|
|
293
|
+
*
|
|
294
|
+
* @deprecated Use `output.name` or `generateStructured()` instead.
|
|
295
|
+
*/
|
|
296
|
+
schemaName?: string;
|
|
297
|
+
/**
|
|
298
|
+
* Description for the schema (optional, used for LLM guidance).
|
|
299
|
+
*
|
|
300
|
+
* @deprecated Use `output.description` or `generateStructured()` instead.
|
|
301
|
+
*/
|
|
302
|
+
schemaDescription?: string;
|
|
303
|
+
/**
|
|
304
|
+
* Response format for structured output (legacy json_object mode).
|
|
305
|
+
* For new code, prefer `output` or `generateStructured()`.
|
|
306
|
+
*
|
|
307
|
+
* Use { type: 'json_object' } for legacy JSON mode without schema validation.
|
|
308
|
+
*/
|
|
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';
|
|
168
315
|
}
|
|
169
316
|
export interface TokenUsageInfo {
|
|
170
317
|
inputTokens: number;
|
|
171
318
|
outputTokens: number;
|
|
172
319
|
totalTokens: number;
|
|
320
|
+
cachedTokens?: number;
|
|
173
321
|
}
|
|
174
|
-
export interface LLMChatResponse {
|
|
322
|
+
export interface LLMChatResponse<T = unknown> {
|
|
175
323
|
message: LLMChatMessage;
|
|
176
324
|
/** Reasoning/thinking content from the model (if supported) */
|
|
177
325
|
reasoning?: string;
|
|
@@ -181,6 +329,27 @@ export interface LLMChatResponse {
|
|
|
181
329
|
toolExecutions?: ToolExecutionResult[];
|
|
182
330
|
/** Which provider served this response */
|
|
183
331
|
provider?: string;
|
|
332
|
+
/**
|
|
333
|
+
* Validated structured output when `output` parameter is provided to chat().
|
|
334
|
+
* This is the same type as inferred from the schema provided in `output.schema`.
|
|
335
|
+
*
|
|
336
|
+
* Undefined when:
|
|
337
|
+
* - No `output` parameter was provided
|
|
338
|
+
* - Structured output validation failed (throws StructuredOutputError instead)
|
|
339
|
+
*
|
|
340
|
+
* @example
|
|
341
|
+
* ```typescript
|
|
342
|
+
* const response = await model.chat(messages, {
|
|
343
|
+
* output: { schema: UserSchema },
|
|
344
|
+
* });
|
|
345
|
+
* if (response.structured) {
|
|
346
|
+
* console.log(response.structured.name); // Fully typed!
|
|
347
|
+
* }
|
|
348
|
+
* ```
|
|
349
|
+
*/
|
|
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';
|
|
184
353
|
}
|
|
185
354
|
export interface OllamaResponse {
|
|
186
355
|
model: string;
|
|
@@ -215,6 +384,10 @@ export interface OpenAIResponse {
|
|
|
215
384
|
prompt_tokens: number;
|
|
216
385
|
completion_tokens: number;
|
|
217
386
|
total_tokens: number;
|
|
387
|
+
prompt_tokens_details?: {
|
|
388
|
+
cached_tokens?: number;
|
|
389
|
+
audio_tokens?: number;
|
|
390
|
+
};
|
|
218
391
|
};
|
|
219
392
|
}
|
|
220
393
|
export interface OllamaModelInfo {
|
|
@@ -294,6 +467,8 @@ export interface GoogleRequest {
|
|
|
294
467
|
functionDeclarations: GoogleFunctionDeclaration[];
|
|
295
468
|
}>;
|
|
296
469
|
toolConfig?: GoogleToolConfig;
|
|
470
|
+
/** Inference tier: FLEX (50% off, best-effort) or PRIORITY (premium, highest reliability) */
|
|
471
|
+
service_tier?: 'FLEX' | 'PRIORITY' | 'STANDARD';
|
|
297
472
|
}
|
|
298
473
|
export interface GoogleCandidate {
|
|
299
474
|
content: {
|
|
@@ -309,6 +484,7 @@ export interface GoogleResponse {
|
|
|
309
484
|
promptTokenCount: number;
|
|
310
485
|
candidatesTokenCount: number;
|
|
311
486
|
totalTokenCount: number;
|
|
487
|
+
cachedContentTokenCount?: number;
|
|
312
488
|
};
|
|
313
489
|
}
|
|
314
490
|
/** Create a text content part */
|
|
@@ -321,4 +497,8 @@ export declare function multimodalMessage(text: string, images: string[], mimeTy
|
|
|
321
497
|
export declare function extractTextContent(content: LLMMessageContent): string;
|
|
322
498
|
/** Check if message content contains images */
|
|
323
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;
|
|
324
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
|