adk-llm-bridge 0.3.4 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +1 -1
- package/dist/converters/index.d.ts +2 -2
- package/dist/converters/response.d.ts +1 -1
- package/dist/converters/response.d.ts.map +1 -1
- package/dist/core/base-provider-llm.d.ts +1 -1
- package/dist/core/base-provider-llm.d.ts.map +1 -1
- package/dist/core/config-resolver.d.ts +39 -0
- package/dist/core/config-resolver.d.ts.map +1 -0
- package/dist/core/create-provider.d.ts +40 -0
- package/dist/core/create-provider.d.ts.map +1 -0
- package/dist/core/create-register.d.ts +38 -0
- package/dist/core/create-register.d.ts.map +1 -0
- package/dist/core/index.d.ts +8 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/openai-compatible-llm.d.ts +34 -144
- package/dist/core/openai-compatible-llm.d.ts.map +1 -1
- package/dist/core/provider-definition.d.ts +66 -0
- package/dist/core/provider-definition.d.ts.map +1 -0
- package/dist/index.d.ts +14 -14
- package/dist/index.js +2 -45
- package/dist/index.js.map +3 -75
- package/dist/providers/ai-gateway/definition.d.ts +8 -0
- package/dist/providers/ai-gateway/definition.d.ts.map +1 -0
- package/dist/providers/ai-gateway/index.d.ts +10 -27
- package/dist/providers/ai-gateway/index.d.ts.map +1 -1
- package/dist/providers/anthropic/anthropic-llm.d.ts +10 -2
- package/dist/providers/anthropic/anthropic-llm.d.ts.map +1 -1
- package/dist/providers/anthropic/converters/response.d.ts.map +1 -1
- package/dist/providers/anthropic/index.d.ts +15 -24
- package/dist/providers/anthropic/index.d.ts.map +1 -1
- package/dist/providers/custom/custom-llm.d.ts +2 -2
- package/dist/providers/custom/custom-llm.d.ts.map +1 -1
- package/dist/providers/custom/factory.d.ts +2 -2
- package/dist/providers/custom/index.d.ts +2 -2
- package/dist/providers/index.d.ts +6 -6
- package/dist/providers/openai/definition.d.ts +8 -0
- package/dist/providers/openai/definition.d.ts.map +1 -0
- package/dist/providers/openai/index.d.ts +10 -28
- package/dist/providers/openai/index.d.ts.map +1 -1
- package/dist/providers/openrouter/definition.d.ts +8 -0
- package/dist/providers/openrouter/definition.d.ts.map +1 -0
- package/dist/providers/openrouter/index.d.ts +10 -30
- package/dist/providers/openrouter/index.d.ts.map +1 -1
- package/dist/providers/xai/definition.d.ts +8 -0
- package/dist/providers/xai/definition.d.ts.map +1 -0
- package/dist/providers/xai/index.d.ts +10 -28
- package/dist/providers/xai/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/json.d.ts +26 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/validate.d.ts +51 -0
- package/dist/utils/validate.d.ts.map +1 -0
- package/package.json +8 -7
- package/dist/providers/ai-gateway/ai-gateway-llm.d.ts +0 -71
- package/dist/providers/ai-gateway/ai-gateway-llm.d.ts.map +0 -1
- package/dist/providers/ai-gateway/factory.d.ts +0 -56
- package/dist/providers/ai-gateway/factory.d.ts.map +0 -1
- package/dist/providers/ai-gateway/register.d.ts +0 -63
- package/dist/providers/ai-gateway/register.d.ts.map +0 -1
- package/dist/providers/anthropic/constants.d.ts +0 -36
- package/dist/providers/anthropic/constants.d.ts.map +0 -1
- package/dist/providers/anthropic/factory.d.ts +0 -60
- package/dist/providers/anthropic/factory.d.ts.map +0 -1
- package/dist/providers/anthropic/register.d.ts +0 -65
- package/dist/providers/anthropic/register.d.ts.map +0 -1
- package/dist/providers/openai/constants.d.ts +0 -34
- package/dist/providers/openai/constants.d.ts.map +0 -1
- package/dist/providers/openai/factory.d.ts +0 -61
- package/dist/providers/openai/factory.d.ts.map +0 -1
- package/dist/providers/openai/openai-llm.d.ts +0 -69
- package/dist/providers/openai/openai-llm.d.ts.map +0 -1
- package/dist/providers/openai/register.d.ts +0 -65
- package/dist/providers/openai/register.d.ts.map +0 -1
- package/dist/providers/openrouter/factory.d.ts +0 -61
- package/dist/providers/openrouter/factory.d.ts.map +0 -1
- package/dist/providers/openrouter/openrouter-llm.d.ts +0 -97
- package/dist/providers/openrouter/openrouter-llm.d.ts.map +0 -1
- package/dist/providers/openrouter/register.d.ts +0 -62
- package/dist/providers/openrouter/register.d.ts.map +0 -1
- package/dist/providers/xai/constants.d.ts +0 -30
- package/dist/providers/xai/constants.d.ts.map +0 -1
- package/dist/providers/xai/factory.d.ts +0 -54
- package/dist/providers/xai/factory.d.ts.map +0 -1
- package/dist/providers/xai/register.d.ts +0 -64
- package/dist/providers/xai/register.d.ts.map +0 -1
- package/dist/providers/xai/xai-llm.d.ts +0 -66
- package/dist/providers/xai/xai-llm.d.ts.map +0 -1
package/dist/config.d.ts
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* });
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
|
-
import type { AnthropicRegisterOptions, OpenAIRegisterOptions, OpenRouterRegisterOptions, RegisterOptions, XAIRegisterOptions } from "./types";
|
|
37
|
+
import type { AnthropicRegisterOptions, OpenAIRegisterOptions, OpenRouterRegisterOptions, RegisterOptions, XAIRegisterOptions } from "./types.js";
|
|
38
38
|
/**
|
|
39
39
|
* Mapping of provider identifiers to their configuration types.
|
|
40
40
|
*
|
|
@@ -27,6 +27,6 @@
|
|
|
27
27
|
* const adkResponse = convertResponse(openaiResponse);
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
export { convertRequest } from "./request";
|
|
31
|
-
export { convertResponse, convertStreamChunk, createStreamAccumulator, } from "./response";
|
|
30
|
+
export { convertRequest } from "./request.js";
|
|
31
|
+
export { convertResponse, convertStreamChunk, createStreamAccumulator, } from "./response.js";
|
|
32
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import type { LlmResponse } from "@google/adk";
|
|
15
15
|
import type OpenAI from "openai";
|
|
16
|
-
import type { StreamAccumulator, StreamChunkResult } from "../types";
|
|
16
|
+
import type { StreamAccumulator, StreamChunkResult } from "../types.js";
|
|
17
17
|
/**
|
|
18
18
|
* Converts an OpenAI chat completion response to ADK LlmResponse format.
|
|
19
19
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/converters/response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/converters/response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGrE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,GAAG,WAAW,CAsC5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,mBAAmB,EACjC,GAAG,EAAE,iBAAiB,GACrB,iBAAiB,CA2DnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import type { BaseLlmConnection, LlmRequest, LlmResponse } from "@google/adk";
|
|
15
15
|
import { BaseLlm } from "@google/adk";
|
|
16
|
-
import type { BaseProviderConfig } from "../types";
|
|
16
|
+
import type { BaseProviderConfig } from "../types.js";
|
|
17
17
|
/**
|
|
18
18
|
* Abstract base class for all LLM providers in adk-llm-bridge.
|
|
19
19
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-provider-llm.d.ts","sourceRoot":"","sources":["../../src/core/base-provider-llm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,8BAAsB,eAAgB,SAAQ,OAAO;IACnD;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAE9C;;;;OAIG;gBACS,MAAM,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"base-provider-llm.d.ts","sourceRoot":"","sources":["../../src/core/base-provider-llm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,8BAAsB,eAAgB,SAAQ,OAAO;IACnD;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAE9C;;;;OAIG;gBACS,MAAM,EAAE,kBAAkB;IAUtC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,oBAAoB,CAC3B,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,OAAO,GACf,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC;IAEpC;;;;;;;;;OASG;IACG,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMxD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW;CAe3E"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 PAI
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import type { BaseProviderConfig } from "../types.js";
|
|
7
|
+
import type { ProviderDefinition } from "./provider-definition.js";
|
|
8
|
+
/**
|
|
9
|
+
* Fully resolved configuration ready to create an OpenAI client.
|
|
10
|
+
*/
|
|
11
|
+
export interface ResolvedConfig {
|
|
12
|
+
baseURL: string;
|
|
13
|
+
apiKey: string;
|
|
14
|
+
timeout: number;
|
|
15
|
+
maxRetries: number;
|
|
16
|
+
headers: Record<string, string>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolves the first defined environment variable from a list of keys.
|
|
20
|
+
*
|
|
21
|
+
* @param keys - Environment variable names to check, in priority order
|
|
22
|
+
* @returns The first found value, or undefined
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveEnvVar(keys: string[]): string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Resolves provider configuration from multiple sources.
|
|
27
|
+
*
|
|
28
|
+
* Priority order (highest to lowest):
|
|
29
|
+
* 1. Instance config (passed to constructor)
|
|
30
|
+
* 2. Global config (via setProviderConfig)
|
|
31
|
+
* 3. Environment variables
|
|
32
|
+
* 4. Default values from the provider definition
|
|
33
|
+
*
|
|
34
|
+
* @param definition - The provider definition with defaults and env var names
|
|
35
|
+
* @param instanceConfig - Instance-level configuration
|
|
36
|
+
* @returns Fully resolved configuration
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveConfig(definition: ProviderDefinition, instanceConfig: BaseProviderConfig): ResolvedConfig;
|
|
39
|
+
//# sourceMappingURL=config-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-resolver.d.ts","sourceRoot":"","sources":["../../src/core/config-resolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAMhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,kBAAkB,EAC9B,cAAc,EAAE,kBAAkB,GACjC,cAAc,CAiDhB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 PAI
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Factory utilities for creating provider classes and functions
|
|
8
|
+
* from declarative provider definitions.
|
|
9
|
+
*
|
|
10
|
+
* @module core/create-provider
|
|
11
|
+
*/
|
|
12
|
+
import type { BaseLlm } from "@google/adk";
|
|
13
|
+
import type { BaseProviderConfig } from "../types.js";
|
|
14
|
+
import { OpenAICompatibleLlm } from "./openai-compatible-llm.js";
|
|
15
|
+
import type { ProviderDefinition } from "./provider-definition.js";
|
|
16
|
+
/** Type compatible with LLMRegistry.register(). */
|
|
17
|
+
type RegisterableLlm = (new (params: {
|
|
18
|
+
model: string;
|
|
19
|
+
}) => BaseLlm) & {
|
|
20
|
+
readonly supportedModels: (string | RegExp)[];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Creates a typed LLM class with static `supportedModels` for LLMRegistry.
|
|
24
|
+
*
|
|
25
|
+
* The returned class can be registered with ADK's LLMRegistry and
|
|
26
|
+
* instantiated by model name matching.
|
|
27
|
+
*
|
|
28
|
+
* @param definition - The provider definition
|
|
29
|
+
* @returns A concrete class extending OpenAICompatibleLlm
|
|
30
|
+
*/
|
|
31
|
+
export declare function createProviderClass(definition: ProviderDefinition): RegisterableLlm;
|
|
32
|
+
/**
|
|
33
|
+
* Creates a factory function for convenient provider instantiation.
|
|
34
|
+
*
|
|
35
|
+
* @param definition - The provider definition
|
|
36
|
+
* @returns A factory function: `(model, options?) => OpenAICompatibleLlm`
|
|
37
|
+
*/
|
|
38
|
+
export declare function createProviderFactory(definition: ProviderDefinition): (model: string, options?: Partial<Omit<BaseProviderConfig, "model">>) => OpenAICompatibleLlm;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=create-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-provider.d.ts","sourceRoot":"","sources":["../../src/core/create-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,mDAAmD;AACnD,KAAK,eAAe,GAAG,CAAC,KAAK,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,GAAG;IACpE,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC/C,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,kBAAkB,GAC7B,eAAe,CAQjB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,IAEhE,OAAO,MAAM,EACb,UAAU,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,KACnD,mBAAmB,CAEvB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 PAI
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Factory for creating provider registration functions.
|
|
8
|
+
*
|
|
9
|
+
* Eliminates the duplicated singleton registration pattern that was
|
|
10
|
+
* previously copy-pasted in every provider's register.ts file.
|
|
11
|
+
*
|
|
12
|
+
* @module core/create-register
|
|
13
|
+
*/
|
|
14
|
+
import type { BaseLlm } from "@google/adk";
|
|
15
|
+
import type { ProviderDefinition } from "./provider-definition.js";
|
|
16
|
+
/** Type that LLMRegistry.register() expects. */
|
|
17
|
+
type RegisterableLlm = (new (params: {
|
|
18
|
+
model: string;
|
|
19
|
+
}) => BaseLlm) & {
|
|
20
|
+
readonly supportedModels: (string | RegExp)[];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Creates registration functions for a provider.
|
|
24
|
+
*
|
|
25
|
+
* Returns an object with `register`, `isRegistered`, and `_reset` functions
|
|
26
|
+
* that implement the idempotent singleton registration pattern.
|
|
27
|
+
*
|
|
28
|
+
* @param definition - The provider definition
|
|
29
|
+
* @param ProviderClass - The LLM class to register (must have static supportedModels)
|
|
30
|
+
* @returns Registration function set
|
|
31
|
+
*/
|
|
32
|
+
export declare function createRegisterFunction(definition: ProviderDefinition, ProviderClass: RegisterableLlm): {
|
|
33
|
+
register(options?: Record<string, unknown>): void;
|
|
34
|
+
isRegistered(): boolean;
|
|
35
|
+
_reset(): void;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=create-register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-register.d.ts","sourceRoot":"","sources":["../../src/core/create-register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,gDAAgD;AAChD,KAAK,eAAe,GAAG,CAAC,KAAK,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,GAAG;IACpE,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC/C,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,eAAe;uBAKT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;oBAiBjC,OAAO;cAIb,IAAI;EAKjB"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -35,7 +35,12 @@
|
|
|
35
35
|
* }
|
|
36
36
|
* ```
|
|
37
37
|
*/
|
|
38
|
-
export { BaseProviderLlm } from "./base-provider-llm";
|
|
39
|
-
export
|
|
40
|
-
export {
|
|
38
|
+
export { BaseProviderLlm } from "./base-provider-llm.js";
|
|
39
|
+
export { resolveConfig, resolveEnvVar } from "./config-resolver.js";
|
|
40
|
+
export type { ResolvedConfig } from "./config-resolver.js";
|
|
41
|
+
export { createProviderClass, createProviderFactory } from "./create-provider.js";
|
|
42
|
+
export { createRegisterFunction } from "./create-register.js";
|
|
43
|
+
export type { OpenAIClientConfig } from "./openai-compatible-llm.js";
|
|
44
|
+
export { OpenAICompatibleLlm } from "./openai-compatible-llm.js";
|
|
45
|
+
export type { ProviderDefinition, ProviderEnvKeys, } from "./provider-definition.js";
|
|
41
46
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
|
|
@@ -7,185 +7,75 @@
|
|
|
7
7
|
* OpenAI-compatible LLM base class.
|
|
8
8
|
*
|
|
9
9
|
* This module provides the base class for LLM providers that use
|
|
10
|
-
* OpenAI-compatible APIs (chat completions endpoint).
|
|
10
|
+
* OpenAI-compatible APIs (chat completions endpoint). Providers can
|
|
11
|
+
* be created either by extending this class or by using a declarative
|
|
12
|
+
* {@link ProviderDefinition}.
|
|
11
13
|
*
|
|
12
14
|
* @module core/openai-compatible-llm
|
|
13
15
|
*/
|
|
14
16
|
import type { LlmRequest, LlmResponse } from "@google/adk";
|
|
15
17
|
import OpenAI from "openai";
|
|
16
|
-
import type { BaseProviderConfig } from "../types";
|
|
17
|
-
import { BaseProviderLlm } from "./base-provider-llm";
|
|
18
|
+
import type { BaseProviderConfig } from "../types.js";
|
|
19
|
+
import { BaseProviderLlm } from "./base-provider-llm.js";
|
|
20
|
+
import type { ProviderDefinition } from "./provider-definition.js";
|
|
18
21
|
/**
|
|
19
22
|
* Configuration for the underlying OpenAI client.
|
|
20
23
|
*
|
|
21
24
|
* These options are passed directly to the OpenAI SDK constructor.
|
|
22
25
|
*/
|
|
23
26
|
export interface OpenAIClientConfig {
|
|
24
|
-
/**
|
|
25
|
-
* Base URL for the API endpoint.
|
|
26
|
-
*
|
|
27
|
-
* @example "https://ai-gateway.vercel.sh/v1"
|
|
28
|
-
* @example "https://openrouter.ai/api/v1"
|
|
29
|
-
*/
|
|
27
|
+
/** Base URL for the API endpoint. */
|
|
30
28
|
baseURL: string;
|
|
31
|
-
/**
|
|
32
|
-
* API key for authentication.
|
|
33
|
-
*/
|
|
29
|
+
/** API key for authentication. */
|
|
34
30
|
apiKey: string;
|
|
35
|
-
/**
|
|
36
|
-
* Request timeout in milliseconds.
|
|
37
|
-
*/
|
|
31
|
+
/** Request timeout in milliseconds. */
|
|
38
32
|
timeout: number;
|
|
39
|
-
/**
|
|
40
|
-
* Maximum number of retry attempts.
|
|
41
|
-
*/
|
|
33
|
+
/** Maximum number of retry attempts. */
|
|
42
34
|
maxRetries: number;
|
|
43
|
-
/**
|
|
44
|
-
* Additional HTTP headers to include in all requests.
|
|
45
|
-
*
|
|
46
|
-
* Useful for provider-specific headers like OpenRouter's site attribution.
|
|
47
|
-
*/
|
|
35
|
+
/** Additional HTTP headers to include in all requests. */
|
|
48
36
|
defaultHeaders?: Record<string, string>;
|
|
49
37
|
}
|
|
50
38
|
/**
|
|
51
39
|
* Base class for LLM providers that use OpenAI-compatible APIs.
|
|
52
40
|
*
|
|
53
|
-
*
|
|
54
|
-
* - Converting ADK requests to OpenAI format
|
|
55
|
-
* - Making chat completion API calls
|
|
56
|
-
* - Processing both streaming and non-streaming responses
|
|
57
|
-
* - Converting responses back to ADK format
|
|
41
|
+
* Supports two construction modes:
|
|
58
42
|
*
|
|
59
|
-
*
|
|
43
|
+
* 1. **Declarative** (recommended): Pass a {@link ProviderDefinition} that
|
|
44
|
+
* describes the provider's configuration. Config resolution is automatic.
|
|
60
45
|
*
|
|
61
|
-
* @
|
|
46
|
+
* 2. **Manual**: Pass a {@link BaseProviderConfig} + {@link OpenAIClientConfig}
|
|
47
|
+
* with pre-resolved values. Used by CustomLlm which has unique URL logic.
|
|
62
48
|
*
|
|
63
49
|
* @example
|
|
64
50
|
* ```typescript
|
|
65
|
-
*
|
|
66
|
-
*
|
|
51
|
+
* // Declarative (most providers)
|
|
52
|
+
* const llm = new OpenAICompatibleLlm(MY_DEFINITION, { model: "gpt-4o" });
|
|
67
53
|
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* timeout: config.timeout ?? 60000,
|
|
73
|
-
* maxRetries: config.maxRetries ?? 2
|
|
74
|
-
* });
|
|
75
|
-
* }
|
|
76
|
-
*
|
|
77
|
-
* protected getErrorPrefix(): string {
|
|
78
|
-
* return "MY_PROVIDER";
|
|
54
|
+
* // Manual (Custom provider)
|
|
55
|
+
* class CustomLlm extends OpenAICompatibleLlm {
|
|
56
|
+
* constructor(config) {
|
|
57
|
+
* super(config, { baseURL, apiKey, timeout, maxRetries });
|
|
79
58
|
* }
|
|
80
59
|
* }
|
|
81
60
|
* ```
|
|
82
|
-
*
|
|
83
|
-
* @see {@link BaseProviderLlm} for the parent class
|
|
84
|
-
* @see {@link AIGatewayLlm} for AI Gateway implementation
|
|
85
|
-
* @see {@link OpenRouterLlm} for OpenRouter implementation
|
|
86
61
|
*/
|
|
87
|
-
export declare
|
|
88
|
-
/**
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
* @protected
|
|
92
|
-
*/
|
|
62
|
+
export declare class OpenAICompatibleLlm extends BaseProviderLlm {
|
|
63
|
+
/** Model patterns for LLMRegistry — set by createProviderClass(). */
|
|
64
|
+
static supportedModels: (string | RegExp)[];
|
|
65
|
+
/** @protected */
|
|
93
66
|
protected readonly client: OpenAI;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
*/
|
|
67
|
+
private readonly _errorPrefix;
|
|
68
|
+
private readonly _getRequestOptions?;
|
|
69
|
+
/** Declarative constructor: definition + config */
|
|
70
|
+
constructor(definition: ProviderDefinition, config: BaseProviderConfig);
|
|
71
|
+
/** Manual constructor: config + clientConfig (for CustomLlm) */
|
|
100
72
|
constructor(config: BaseProviderConfig, clientConfig: OpenAIClientConfig);
|
|
101
|
-
/**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
* Override in subclasses to return an appropriate prefix like
|
|
105
|
-
* "AI_GATEWAY" or "OPENROUTER".
|
|
106
|
-
*
|
|
107
|
-
* @returns The error prefix string
|
|
108
|
-
*
|
|
109
|
-
* @abstract
|
|
110
|
-
* @protected
|
|
111
|
-
*
|
|
112
|
-
* @example
|
|
113
|
-
* ```typescript
|
|
114
|
-
* protected getErrorPrefix(): string {
|
|
115
|
-
* return "MY_PROVIDER";
|
|
116
|
-
* }
|
|
117
|
-
* // Errors will have codes like "MY_PROVIDER_ERROR" or "API_ERROR_429"
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
protected abstract getErrorPrefix(): string;
|
|
121
|
-
/**
|
|
122
|
-
* Returns provider-specific options to merge into chat completion requests.
|
|
123
|
-
*
|
|
124
|
-
* Override in subclasses to add provider-specific parameters.
|
|
125
|
-
* The returned object is spread into the chat completion request body.
|
|
126
|
-
*
|
|
127
|
-
* @returns An object of additional request options
|
|
128
|
-
*
|
|
129
|
-
* @protected
|
|
130
|
-
*
|
|
131
|
-
* @example
|
|
132
|
-
* ```typescript
|
|
133
|
-
* protected getProviderRequestOptions(): Record<string, unknown> {
|
|
134
|
-
* return {
|
|
135
|
-
* provider: {
|
|
136
|
-
* order: ["Anthropic"],
|
|
137
|
-
* allow_fallbacks: true
|
|
138
|
-
* }
|
|
139
|
-
* };
|
|
140
|
-
* }
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
73
|
+
/** Returns the provider error prefix. */
|
|
74
|
+
protected getErrorPrefix(): string;
|
|
75
|
+
/** Returns provider-specific request options. */
|
|
143
76
|
protected getProviderRequestOptions(): Record<string, unknown>;
|
|
144
|
-
/**
|
|
145
|
-
* Generates content from the LLM.
|
|
146
|
-
*
|
|
147
|
-
* Converts the ADK request to OpenAI format, makes the API call,
|
|
148
|
-
* and converts the response back to ADK format.
|
|
149
|
-
*
|
|
150
|
-
* @param llmRequest - The ADK LLM request
|
|
151
|
-
* @param stream - Whether to stream the response (default: false)
|
|
152
|
-
* @returns An async generator yielding LLM responses
|
|
153
|
-
*
|
|
154
|
-
* @example
|
|
155
|
-
* ```typescript
|
|
156
|
-
* // Non-streaming
|
|
157
|
-
* for await (const response of llm.generateContentAsync(request)) {
|
|
158
|
-
* console.log(response);
|
|
159
|
-
* }
|
|
160
|
-
*
|
|
161
|
-
* // Streaming
|
|
162
|
-
* for await (const response of llm.generateContentAsync(request, true)) {
|
|
163
|
-
* if (response.text) {
|
|
164
|
-
* process.stdout.write(response.text);
|
|
165
|
-
* }
|
|
166
|
-
* }
|
|
167
|
-
* ```
|
|
168
|
-
*/
|
|
169
77
|
generateContentAsync(llmRequest: LlmRequest, stream?: boolean): AsyncGenerator<LlmResponse, void>;
|
|
170
|
-
/**
|
|
171
|
-
* Makes a single (non-streaming) API request.
|
|
172
|
-
*
|
|
173
|
-
* @param messages - OpenAI format messages
|
|
174
|
-
* @param tools - OpenAI format tools (optional)
|
|
175
|
-
* @returns The converted LLM response
|
|
176
|
-
*
|
|
177
|
-
* @private
|
|
178
|
-
*/
|
|
179
78
|
private singleResponse;
|
|
180
|
-
/**
|
|
181
|
-
* Makes a streaming API request and yields responses as they arrive.
|
|
182
|
-
*
|
|
183
|
-
* @param messages - OpenAI format messages
|
|
184
|
-
* @param tools - OpenAI format tools (optional)
|
|
185
|
-
* @returns An async generator yielding LLM responses
|
|
186
|
-
*
|
|
187
|
-
* @private
|
|
188
|
-
*/
|
|
189
79
|
private streamResponse;
|
|
190
80
|
}
|
|
191
81
|
//# sourceMappingURL=openai-compatible-llm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-compatible-llm.d.ts","sourceRoot":"","sources":["../../src/core/openai-compatible-llm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"openai-compatible-llm.d.ts","sourceRoot":"","sources":["../../src/core/openai-compatible-llm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAO5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,qEAAqE;IACrE,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAM;IAEjD,iBAAiB;IACjB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAgC;IAEpE,mDAAmD;gBACvC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB;IACtE,gEAAgE;gBACpD,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB;IA+CxE,yCAAyC;IACzC,SAAS,CAAC,cAAc,IAAI,MAAM;IAIlC,iDAAiD;IACjD,SAAS,CAAC,yBAAyB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvD,oBAAoB,CACzB,UAAU,EAAE,UAAU,EACtB,MAAM,UAAQ,GACb,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC;YActB,cAAc;YAab,cAAc;CAoB9B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 PAI
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Declarative provider definition interface.
|
|
8
|
+
*
|
|
9
|
+
* Providers that use OpenAI-compatible APIs differ only in configuration
|
|
10
|
+
* (URLs, env vars, headers), not behavior. This interface captures those
|
|
11
|
+
* differences as data instead of requiring class inheritance.
|
|
12
|
+
*
|
|
13
|
+
* @module core/provider-definition
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Environment variable keys for resolving provider configuration.
|
|
17
|
+
*/
|
|
18
|
+
export interface ProviderEnvKeys {
|
|
19
|
+
/** Env var names to check for API key, in priority order */
|
|
20
|
+
apiKey: string[];
|
|
21
|
+
/** Env var names to check for base URL, in priority order */
|
|
22
|
+
baseURL?: string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Declarative definition for an OpenAI-compatible LLM provider.
|
|
26
|
+
*
|
|
27
|
+
* Instead of creating a subclass for each provider, define the provider
|
|
28
|
+
* as a configuration object. The core infrastructure handles the rest.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const MY_PROVIDER: ProviderDefinition = {
|
|
33
|
+
* id: "my-provider",
|
|
34
|
+
* errorPrefix: "MY_PROVIDER",
|
|
35
|
+
* defaultBaseURL: "https://api.myprovider.com/v1",
|
|
36
|
+
* envKeys: { apiKey: ["MY_PROVIDER_API_KEY"] },
|
|
37
|
+
* modelPatterns: [/.+\/.+/],
|
|
38
|
+
* };
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export interface ProviderDefinition {
|
|
42
|
+
/** Provider ID for the config system (e.g. "ai-gateway", "openrouter") */
|
|
43
|
+
id: string;
|
|
44
|
+
/** Error prefix for error codes (e.g. "AI_GATEWAY" → "AI_GATEWAY_ERROR") */
|
|
45
|
+
errorPrefix: string;
|
|
46
|
+
/** Default base URL when not specified in config or env vars */
|
|
47
|
+
defaultBaseURL: string;
|
|
48
|
+
/** Environment variable names to resolve for apiKey and baseURL */
|
|
49
|
+
envKeys: ProviderEnvKeys;
|
|
50
|
+
/** Model patterns for LLMRegistry matching */
|
|
51
|
+
modelPatterns: (string | RegExp)[];
|
|
52
|
+
/** Build custom HTTP headers from the instance config */
|
|
53
|
+
buildHeaders?: (config: Record<string, unknown>) => Record<string, string>;
|
|
54
|
+
/** Build provider-specific options to merge into request body */
|
|
55
|
+
buildRequestOptions?: (config: Record<string, unknown>) => Record<string, unknown>;
|
|
56
|
+
/**
|
|
57
|
+
* Whether this provider requires an API key at construction time.
|
|
58
|
+
*
|
|
59
|
+
* Cloud providers (AI Gateway, OpenRouter, OpenAI, xAI) should set this
|
|
60
|
+
* to true. Local/self-hosted providers that may not need auth can omit it.
|
|
61
|
+
*
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
requireApiKey?: boolean;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=provider-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-definition.d.ts","sourceRoot":"","sources":["../../src/core/provider-definition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAC;IAEX,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IAEpB,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;IAEvB,mEAAmE;IACnE,OAAO,EAAE,eAAe,CAAC;IAEzB,8CAA8C;IAC9C,aAAa,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAEnC,yDAAyD;IACzD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3E,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -58,18 +58,18 @@
|
|
|
58
58
|
* @see {@link https://google.github.io/adk-docs/|Google ADK Documentation}
|
|
59
59
|
*/
|
|
60
60
|
export { BaseLlm } from "@google/adk";
|
|
61
|
-
export { BaseProviderLlm } from "./core/base-provider-llm";
|
|
62
|
-
export type { OpenAIClientConfig } from "./core/openai-compatible-llm";
|
|
63
|
-
export { OpenAICompatibleLlm } from "./core/openai-compatible-llm";
|
|
64
|
-
export { AIGateway, AIGatewayLlm, isAIGatewayRegistered, registerAIGateway, } from "./providers/ai-gateway";
|
|
65
|
-
export { isOpenRouterRegistered, OpenRouter, OpenRouterLlm, registerOpenRouter, } from "./providers/openrouter";
|
|
66
|
-
export { isOpenAIRegistered, OpenAI, OpenAILlm, registerOpenAI, } from "./providers/openai";
|
|
67
|
-
export { isXAIRegistered, registerXAI, XAI, XAILlm } from "./providers/xai";
|
|
68
|
-
export { Anthropic, AnthropicLlm, isAnthropicRegistered, registerAnthropic, } from "./providers/anthropic";
|
|
69
|
-
export { Custom, CustomLlm, type CustomLlmProviderConfig, createCustomLlm, } from "./providers/custom";
|
|
70
|
-
export type { AIGatewayConfig, AnthropicProviderConfig, AnthropicRegisterOptions, BaseProviderConfig, CustomLlmConfig, OpenAIProviderConfig, OpenAIRegisterOptions, OpenRouterConfig, OpenRouterProviderPreferences, OpenRouterRegisterOptions, RegisterOptions, StreamAccumulator, StreamChunkResult, ToolCallAccumulator, XAIProviderConfig, XAIRegisterOptions, } from "./types";
|
|
71
|
-
export { DEFAULT_BASE_URL, MODEL_PATTERNS, OPENROUTER_BASE_URL, OPENROUTER_MODEL_PATTERNS, PROVIDER_IDS, } from "./constants";
|
|
72
|
-
export { getConfig, getProviderConfig, resetAllConfigs, resetConfig, resetProviderConfig, setConfig, setProviderConfig, } from "./config";
|
|
73
|
-
export { convertRequest } from "./converters/request";
|
|
74
|
-
export { convertResponse, convertStreamChunk, createStreamAccumulator, } from "./converters/response";
|
|
61
|
+
export { BaseProviderLlm } from "./core/base-provider-llm.js";
|
|
62
|
+
export type { OpenAIClientConfig } from "./core/openai-compatible-llm.js";
|
|
63
|
+
export { OpenAICompatibleLlm } from "./core/openai-compatible-llm.js";
|
|
64
|
+
export { AIGateway, AIGatewayLlm, isAIGatewayRegistered, registerAIGateway, } from "./providers/ai-gateway/index.js";
|
|
65
|
+
export { isOpenRouterRegistered, OpenRouter, OpenRouterLlm, registerOpenRouter, } from "./providers/openrouter/index.js";
|
|
66
|
+
export { isOpenAIRegistered, OpenAI, OpenAILlm, registerOpenAI, } from "./providers/openai/index.js";
|
|
67
|
+
export { isXAIRegistered, registerXAI, XAI, XAILlm } from "./providers/xai/index.js";
|
|
68
|
+
export { Anthropic, AnthropicLlm, isAnthropicRegistered, registerAnthropic, } from "./providers/anthropic/index.js";
|
|
69
|
+
export { Custom, CustomLlm, type CustomLlmProviderConfig, createCustomLlm, } from "./providers/custom/index.js";
|
|
70
|
+
export type { AIGatewayConfig, AnthropicProviderConfig, AnthropicRegisterOptions, BaseProviderConfig, CustomLlmConfig, OpenAIProviderConfig, OpenAIRegisterOptions, OpenRouterConfig, OpenRouterProviderPreferences, OpenRouterRegisterOptions, RegisterOptions, StreamAccumulator, StreamChunkResult, ToolCallAccumulator, XAIProviderConfig, XAIRegisterOptions, } from "./types.js";
|
|
71
|
+
export { DEFAULT_BASE_URL, MODEL_PATTERNS, OPENROUTER_BASE_URL, OPENROUTER_MODEL_PATTERNS, PROVIDER_IDS, } from "./constants.js";
|
|
72
|
+
export { getConfig, getProviderConfig, resetAllConfigs, resetConfig, resetProviderConfig, setConfig, setProviderConfig, } from "./config.js";
|
|
73
|
+
export { convertRequest } from "./converters/request.js";
|
|
74
|
+
export { convertResponse, convertStreamChunk, createStreamAccumulator, } from "./converters/response.js";
|
|
75
75
|
//# sourceMappingURL=index.d.ts.map
|