@polpo-ai/llm 0.5.2 → 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gateway-config.d.ts +15 -0
- package/dist/gateway-config.d.ts.map +1 -0
- package/dist/gateway-config.js +8 -0
- package/dist/gateway-config.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/model-resolver.d.ts +8 -3
- package/dist/model-resolver.d.ts.map +1 -1
- package/dist/model-resolver.js +22 -21
- package/dist/model-resolver.js.map +1 -1
- package/dist/provider-factory.d.ts +10 -3
- package/dist/provider-factory.d.ts.map +1 -1
- package/dist/provider-factory.js +24 -5
- package/dist/provider-factory.js.map +1 -1
- package/dist/query.d.ts +4 -4
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +6 -6
- package/dist/query.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gateway configuration type — passed per-request, not stored as singleton.
|
|
3
|
+
*
|
|
4
|
+
* Allows users to route LLM calls through any OpenAI-compatible gateway
|
|
5
|
+
* (Vercel AI Gateway, OpenRouter, LiteLLM, Ollama, etc.).
|
|
6
|
+
*/
|
|
7
|
+
export interface GatewayConfig {
|
|
8
|
+
/** Gateway endpoint URL. */
|
|
9
|
+
url: string;
|
|
10
|
+
/** Resolved API key (not env var name). */
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
/** Custom headers to send with every request. */
|
|
13
|
+
headers?: Record<string, string>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=gateway-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-config.d.ts","sourceRoot":"","sources":["../src/gateway-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gateway configuration type — passed per-request, not stored as singleton.
|
|
3
|
+
*
|
|
4
|
+
* Allows users to route LLM calls through any OpenAI-compatible gateway
|
|
5
|
+
* (Vercel AI Gateway, OpenRouter, LiteLLM, Ollama, etc.).
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=gateway-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-config.js","sourceRoot":"","sources":["../src/gateway-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export { fetchCatalog, getCatalogSync, } from "./gateway-catalog.js";
|
|
|
8
8
|
export type { GatewayLanguageModelEntry, ModelInfo } from "./gateway-catalog.js";
|
|
9
9
|
export { parseModelSpec, resolveModel, resolveModelSpec, resolveModelWithFallback, resolveModelWithFallbackAsync, getModelInfo, listProviders, listModels, buildModelListingForPrompt, setProviderOverrides, getProviderOverrides, setModelAllowlist, getModelAllowlist, isModelAllowed, enforceModelAllowlist, validateProviderKeys, validateProviderKeysDetailed, } from "./model-resolver.js";
|
|
10
10
|
export type { ResolvedModel, ParsedModelSpec, ProviderValidationResult } from "./model-resolver.js";
|
|
11
|
+
export type { GatewayConfig } from "./gateway-config.js";
|
|
12
|
+
export type { ResolveModelOptions } from "./model-resolver.js";
|
|
11
13
|
export { createCustomProviderModel, createGatewayModel, mapReasoningToProviderOptions, buildStreamOpts, } from "./provider-factory.js";
|
|
12
14
|
export { resolveApiKey, resolveApiKeyAsync, hasOAuthProfiles, PROVIDER_ENV_MAP, } from "./api-keys.js";
|
|
13
15
|
export { estimateCost } from "./cost.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,YAAY,EAEZ,aAAa,EACb,UAAU,EACV,0BAA0B,EAE1B,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EAErB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGpG,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGlE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,SAAS,EACT,WAAW,EACX,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,YAAY,EAEZ,aAAa,EACb,UAAU,EACV,0BAA0B,EAE1B,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EAErB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGpG,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGlE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,SAAS,EACT,WAAW,EACX,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ setProviderOverrides, getProviderOverrides,
|
|
|
18
18
|
setModelAllowlist, getModelAllowlist, isModelAllowed, enforceModelAllowlist,
|
|
19
19
|
// Provider validation
|
|
20
20
|
validateProviderKeys, validateProviderKeysDetailed, } from "./model-resolver.js";
|
|
21
|
-
// ─── Provider Factory
|
|
21
|
+
// ─── Provider Factory ─────────────────────────────────
|
|
22
22
|
export { createCustomProviderModel, createGatewayModel, mapReasoningToProviderOptions, buildStreamOpts, } from "./provider-factory.js";
|
|
23
23
|
// ─── API Keys ────────────────────────────────────────
|
|
24
24
|
export { resolveApiKey, resolveApiKeyAsync, hasOAuthProfiles, PROVIDER_ENV_MAP, } from "./api-keys.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0DAA0D;AAC1D,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,wDAAwD;AACxD,OAAO;AACL,kBAAkB;AAClB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,YAAY;AACZ,wCAAwC;AACxC,aAAa,EACb,UAAU,EACV,0BAA0B;AAC1B,qBAAqB;AACrB,oBAAoB,EACpB,oBAAoB;AACpB,kBAAkB;AAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB;AACrB,sBAAsB;AACtB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0DAA0D;AAC1D,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,wDAAwD;AACxD,OAAO;AACL,kBAAkB;AAClB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,YAAY;AACZ,wCAAwC;AACxC,aAAa,EACb,UAAU,EACV,0BAA0B;AAC1B,qBAAqB;AACrB,oBAAoB,EACpB,oBAAoB;AACpB,kBAAkB;AAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB;AACrB,sBAAsB;AACtB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAO7B,yDAAyD;AACzD,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,wDAAwD;AACxD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,wDAAwD;AACxD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,0DAA0D;AAC1D,OAAO,EACL,SAAS,EACT,WAAW,EACX,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
package/dist/model-resolver.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { LanguageModel } from "ai";
|
|
|
7
7
|
import type { ProviderConfig, ModelConfig, ModelAllowlistEntry } from "@polpo-ai/core";
|
|
8
8
|
export type { ParsedModelSpec } from "@polpo-ai/core";
|
|
9
9
|
import { type ModelInfo } from "./gateway-catalog.js";
|
|
10
|
+
import type { GatewayConfig } from "./gateway-config.js";
|
|
10
11
|
/**
|
|
11
12
|
* A resolved model: metadata (from gateway catalog or custom provider config)
|
|
12
13
|
* plus an AI SDK LanguageModel instance ready for generateText/streamText.
|
|
@@ -66,7 +67,11 @@ export declare function parseModelSpec(spec?: string): {
|
|
|
66
67
|
*
|
|
67
68
|
* This ensures custom providers (Ollama, vLLM, etc.) work without being in the gateway.
|
|
68
69
|
*/
|
|
69
|
-
export
|
|
70
|
+
export interface ResolveModelOptions {
|
|
71
|
+
/** Gateway configuration — passed per-request for multi-tenant support. */
|
|
72
|
+
gateway?: GatewayConfig;
|
|
73
|
+
}
|
|
74
|
+
export declare function resolveModel(spec?: string, opts?: ResolveModelOptions): ResolvedModel;
|
|
70
75
|
/**
|
|
71
76
|
* Get detailed model info for a specific model spec.
|
|
72
77
|
*/
|
|
@@ -95,7 +100,7 @@ export declare function resolveModelSpec(spec: string | ModelConfig | undefined)
|
|
|
95
100
|
* Tries primary first, then each fallback in order.
|
|
96
101
|
* Returns the first model that has a valid API key.
|
|
97
102
|
*/
|
|
98
|
-
export declare function resolveModelWithFallback(config: ModelConfig): {
|
|
103
|
+
export declare function resolveModelWithFallback(config: ModelConfig, opts?: ResolveModelOptions): {
|
|
99
104
|
model: ResolvedModel;
|
|
100
105
|
spec: string;
|
|
101
106
|
};
|
|
@@ -104,7 +109,7 @@ export declare function resolveModelWithFallback(config: ModelConfig): {
|
|
|
104
109
|
* Tries primary first, then each fallback in order.
|
|
105
110
|
* Checks the FULL API key resolution chain including OAuth profiles with auto-refresh.
|
|
106
111
|
*/
|
|
107
|
-
export declare function resolveModelWithFallbackAsync(config: ModelConfig): Promise<{
|
|
112
|
+
export declare function resolveModelWithFallbackAsync(config: ModelConfig, opts?: ResolveModelOptions): Promise<{
|
|
108
113
|
model: ResolvedModel;
|
|
109
114
|
spec: string;
|
|
110
115
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolver.d.ts","sourceRoot":"","sources":["../src/model-resolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEvF,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAkD,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"model-resolver.d.ts","sourceRoot":"","sources":["../src/model-resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/model-resolver.js
CHANGED
|
@@ -57,17 +57,7 @@ export function enforceModelAllowlist(spec) {
|
|
|
57
57
|
export function parseModelSpec(spec) {
|
|
58
58
|
return _parseModelSpec(spec, process.env.POLPO_MODEL);
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Resolve a model spec to a ResolvedModel with metadata + AI SDK model instance.
|
|
63
|
-
*
|
|
64
|
-
* Resolution order:
|
|
65
|
-
* 1. If provider has an override with custom baseUrl -> create OpenAI-compatible model
|
|
66
|
-
* 2. Otherwise -> use AI Gateway (provider/modelId format)
|
|
67
|
-
*
|
|
68
|
-
* This ensures custom providers (Ollama, vLLM, etc.) work without being in the gateway.
|
|
69
|
-
*/
|
|
70
|
-
export function resolveModel(spec) {
|
|
60
|
+
export function resolveModel(spec, opts) {
|
|
71
61
|
const { provider, modelId } = parseModelSpec(spec);
|
|
72
62
|
const override = providerOverrides[provider];
|
|
73
63
|
// Custom provider with baseUrl override -> use @ai-sdk/openai with custom endpoint
|
|
@@ -100,8 +90,19 @@ export function resolveModel(spec) {
|
|
|
100
90
|
aiModel,
|
|
101
91
|
};
|
|
102
92
|
}
|
|
103
|
-
//
|
|
104
|
-
const
|
|
93
|
+
// Validate that some gateway or provider key is available
|
|
94
|
+
const hasGateway = !!opts?.gateway;
|
|
95
|
+
const hasVercelGatewayKey = !!process.env.AI_GATEWAY_API_KEY;
|
|
96
|
+
const hasProviderKey = !!resolveApiKey(provider) || hasOAuthProfiles(provider);
|
|
97
|
+
if (!hasGateway && !hasVercelGatewayKey && !hasProviderKey) {
|
|
98
|
+
throw new Error(`No LLM gateway configured and no API key found for provider "${provider}". ` +
|
|
99
|
+
`Set settings.gateway in polpo.json, ` +
|
|
100
|
+
`or set AI_GATEWAY_API_KEY env var for Vercel AI Gateway, ` +
|
|
101
|
+
`or set ${PROVIDER_ENV_MAP[provider] ?? `the API key env var for "${provider}"`} for direct provider access. ` +
|
|
102
|
+
`See: https://docs.polpo.sh/docs/quickstart`);
|
|
103
|
+
}
|
|
104
|
+
// Standard provider -> route through gateway (explicit config > env var fallback)
|
|
105
|
+
const aiModel = createGatewayModel(provider, modelId, opts?.gateway);
|
|
105
106
|
// Try to get metadata from cached catalog
|
|
106
107
|
const catalog = getCatalogSync();
|
|
107
108
|
const gatewayModelId = `${provider}/${modelId}`;
|
|
@@ -301,7 +302,7 @@ export function resolveModelSpec(spec) {
|
|
|
301
302
|
* Tries primary first, then each fallback in order.
|
|
302
303
|
* Returns the first model that has a valid API key.
|
|
303
304
|
*/
|
|
304
|
-
export function resolveModelWithFallback(config) {
|
|
305
|
+
export function resolveModelWithFallback(config, opts) {
|
|
305
306
|
const primary = config.primary;
|
|
306
307
|
if (!primary) {
|
|
307
308
|
throw new Error("No primary model configured. Run 'polpo setup' or set POLPO_MODEL env var.");
|
|
@@ -309,7 +310,7 @@ export function resolveModelWithFallback(config) {
|
|
|
309
310
|
const { provider: primaryProvider } = parseModelSpec(primary);
|
|
310
311
|
if (resolveApiKey(primaryProvider)) {
|
|
311
312
|
try {
|
|
312
|
-
return { model: resolveModel(primary), spec: primary };
|
|
313
|
+
return { model: resolveModel(primary, opts), spec: primary };
|
|
313
314
|
}
|
|
314
315
|
catch {
|
|
315
316
|
// Primary model not found — try fallbacks
|
|
@@ -320,7 +321,7 @@ export function resolveModelWithFallback(config) {
|
|
|
320
321
|
const { provider: fbProvider } = parseModelSpec(fallback);
|
|
321
322
|
if (resolveApiKey(fbProvider)) {
|
|
322
323
|
try {
|
|
323
|
-
return { model: resolveModel(fallback), spec: fallback };
|
|
324
|
+
return { model: resolveModel(fallback, opts), spec: fallback };
|
|
324
325
|
}
|
|
325
326
|
catch {
|
|
326
327
|
// Model not found — try next
|
|
@@ -329,14 +330,14 @@ export function resolveModelWithFallback(config) {
|
|
|
329
330
|
}
|
|
330
331
|
}
|
|
331
332
|
// Last resort: try primary anyway (will fail at call time with a clear error)
|
|
332
|
-
return { model: resolveModel(primary), spec: primary };
|
|
333
|
+
return { model: resolveModel(primary, opts), spec: primary };
|
|
333
334
|
}
|
|
334
335
|
/**
|
|
335
336
|
* Resolve a model from a fallback chain (async).
|
|
336
337
|
* Tries primary first, then each fallback in order.
|
|
337
338
|
* Checks the FULL API key resolution chain including OAuth profiles with auto-refresh.
|
|
338
339
|
*/
|
|
339
|
-
export async function resolveModelWithFallbackAsync(config) {
|
|
340
|
+
export async function resolveModelWithFallbackAsync(config, opts) {
|
|
340
341
|
const primary = config.primary;
|
|
341
342
|
if (!primary) {
|
|
342
343
|
throw new Error("No primary model configured. Run 'polpo setup' or set POLPO_MODEL env var.");
|
|
@@ -344,7 +345,7 @@ export async function resolveModelWithFallbackAsync(config) {
|
|
|
344
345
|
const { provider: primaryProvider } = parseModelSpec(primary);
|
|
345
346
|
if (await resolveApiKeyAsync(primaryProvider)) {
|
|
346
347
|
try {
|
|
347
|
-
return { model: resolveModel(primary), spec: primary };
|
|
348
|
+
return { model: resolveModel(primary, opts), spec: primary };
|
|
348
349
|
}
|
|
349
350
|
catch {
|
|
350
351
|
// Primary model not found — try fallbacks
|
|
@@ -355,7 +356,7 @@ export async function resolveModelWithFallbackAsync(config) {
|
|
|
355
356
|
const { provider: fbProvider } = parseModelSpec(fallback);
|
|
356
357
|
if (await resolveApiKeyAsync(fbProvider)) {
|
|
357
358
|
try {
|
|
358
|
-
return { model: resolveModel(fallback), spec: fallback };
|
|
359
|
+
return { model: resolveModel(fallback, opts), spec: fallback };
|
|
359
360
|
}
|
|
360
361
|
catch {
|
|
361
362
|
// Model not found — try next
|
|
@@ -363,7 +364,7 @@ export async function resolveModelWithFallbackAsync(config) {
|
|
|
363
364
|
}
|
|
364
365
|
}
|
|
365
366
|
}
|
|
366
|
-
return { model: resolveModel(primary), spec: primary };
|
|
367
|
+
return { model: resolveModel(primary, opts), spec: primary };
|
|
367
368
|
}
|
|
368
369
|
/**
|
|
369
370
|
* Validate that all required providers have API keys available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../src/model-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../src/model-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,23 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { LanguageModel } from "ai";
|
|
8
8
|
import type { ProviderConfig, ReasoningLevel } from "@polpo-ai/core";
|
|
9
|
+
import type { GatewayConfig } from "./gateway-config.js";
|
|
9
10
|
/**
|
|
10
11
|
* Create an AI SDK LanguageModel for a custom (non-gateway) provider.
|
|
11
12
|
* Uses @ai-sdk/openai with a custom baseURL for OpenAI-compatible endpoints.
|
|
12
13
|
*/
|
|
13
14
|
export declare function createCustomProviderModel(provider: string, modelId: string, override: ProviderConfig): LanguageModel;
|
|
14
15
|
/**
|
|
15
|
-
* Create an AI SDK LanguageModel via the
|
|
16
|
-
*
|
|
16
|
+
* Create an AI SDK LanguageModel via the configured gateway, or fall back to
|
|
17
|
+
* the Vercel AI Gateway when no custom gateway is configured.
|
|
18
|
+
*
|
|
19
|
+
* When a gateway is configured in polpo.json (`settings.gateway`), uses
|
|
20
|
+
* @ai-sdk/openai-compatible to route through any OpenAI-compatible endpoint
|
|
21
|
+
* (OpenRouter, LiteLLM, Ollama, etc.).
|
|
22
|
+
*
|
|
23
|
+
* The gateway expects "provider/modelId" format for model identifiers.
|
|
17
24
|
*/
|
|
18
|
-
export declare function createGatewayModel(provider: string, modelId: string): LanguageModel;
|
|
25
|
+
export declare function createGatewayModel(provider: string, modelId: string, config?: GatewayConfig): LanguageModel;
|
|
19
26
|
/**
|
|
20
27
|
* Map Polpo's ReasoningLevel to AI SDK providerOptions for reasoning/thinking.
|
|
21
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-factory.d.ts","sourceRoot":"","sources":["../src/provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-factory.d.ts","sourceRoot":"","sources":["../src/provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAIxC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,cAAc,GACvB,aAAa,CAaf;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa,CAiB3G;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAmDrD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,cAAc,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAUrC"}
|
package/dist/provider-factory.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { gateway } from "ai";
|
|
8
8
|
import { createOpenAI } from "@ai-sdk/openai";
|
|
9
|
+
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
9
10
|
import { resolveApiKey } from "./api-keys.js";
|
|
10
11
|
/**
|
|
11
12
|
* Create an AI SDK LanguageModel for a custom (non-gateway) provider.
|
|
@@ -24,12 +25,30 @@ export function createCustomProviderModel(provider, modelId, override) {
|
|
|
24
25
|
return openaiProvider(modelId);
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
|
-
* Create an AI SDK LanguageModel via the
|
|
28
|
-
*
|
|
28
|
+
* Create an AI SDK LanguageModel via the configured gateway, or fall back to
|
|
29
|
+
* the Vercel AI Gateway when no custom gateway is configured.
|
|
30
|
+
*
|
|
31
|
+
* When a gateway is configured in polpo.json (`settings.gateway`), uses
|
|
32
|
+
* @ai-sdk/openai-compatible to route through any OpenAI-compatible endpoint
|
|
33
|
+
* (OpenRouter, LiteLLM, Ollama, etc.).
|
|
34
|
+
*
|
|
35
|
+
* The gateway expects "provider/modelId" format for model identifiers.
|
|
29
36
|
*/
|
|
30
|
-
export function createGatewayModel(provider, modelId) {
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
export function createGatewayModel(provider, modelId, config) {
|
|
38
|
+
if (!config) {
|
|
39
|
+
// No explicit config — fall back to Vercel AI Gateway (reads AI_GATEWAY_API_KEY from env)
|
|
40
|
+
const gatewayModelId = `${provider}/${modelId}`;
|
|
41
|
+
return gateway(gatewayModelId);
|
|
42
|
+
}
|
|
43
|
+
// Use configured gateway via OpenAI-compatible provider
|
|
44
|
+
const gatewayProvider = createOpenAICompatible({
|
|
45
|
+
baseURL: config.url,
|
|
46
|
+
name: "gateway",
|
|
47
|
+
apiKey: config.apiKey,
|
|
48
|
+
headers: config.headers,
|
|
49
|
+
});
|
|
50
|
+
const modelSpec = `${provider}/${modelId}`;
|
|
51
|
+
return gatewayProvider.languageModel(modelSpec);
|
|
33
52
|
}
|
|
34
53
|
/**
|
|
35
54
|
* Map Polpo's ReasoningLevel to AI SDK providerOptions for reasoning/thinking.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-factory.js","sourceRoot":"","sources":["../src/provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-factory.js","sourceRoot":"","sources":["../src/provider-factory.ts"],"names":[],"mappings":"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"}
|
package/dist/query.d.ts
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { type LanguageModelUsage } from "ai";
|
|
6
6
|
import type { ReasoningLevel, ModelConfig } from "@polpo-ai/core";
|
|
7
|
-
import type { ResolvedModel } from "./model-resolver.js";
|
|
7
|
+
import type { ResolvedModel, ResolveModelOptions } from "./model-resolver.js";
|
|
8
8
|
/**
|
|
9
9
|
* Simple prompt -> text completion using AI SDK generateText.
|
|
10
10
|
* Integrates with the cooldown system: marks provider cooldown on classified errors,
|
|
11
11
|
* clears cooldown on success. Uses async API key resolution (includes OAuth profiles).
|
|
12
12
|
*/
|
|
13
|
-
export declare function queryText(prompt: string, model?: string, reasoning?: ReasoningLevel): Promise<{
|
|
13
|
+
export declare function queryText(prompt: string, model?: string, reasoning?: ReasoningLevel, resolveOpts?: ResolveModelOptions): Promise<{
|
|
14
14
|
text: string;
|
|
15
15
|
usage?: LanguageModelUsage;
|
|
16
16
|
model: ResolvedModel;
|
|
@@ -19,7 +19,7 @@ export declare function queryText(prompt: string, model?: string, reasoning?: Re
|
|
|
19
19
|
* Streaming prompt -> text with progress callback.
|
|
20
20
|
* Integrates with the cooldown system. Uses async API key resolution.
|
|
21
21
|
*/
|
|
22
|
-
export declare function queryStream(prompt: string, model?: string, onProgress?: (text: string) => void, reasoning?: ReasoningLevel): Promise<{
|
|
22
|
+
export declare function queryStream(prompt: string, model?: string, onProgress?: (text: string) => void, reasoning?: ReasoningLevel, resolveOpts?: ResolveModelOptions): Promise<{
|
|
23
23
|
text: string;
|
|
24
24
|
usage?: LanguageModelUsage;
|
|
25
25
|
model: ResolvedModel;
|
|
@@ -28,7 +28,7 @@ export declare function queryStream(prompt: string, model?: string, onProgress?:
|
|
|
28
28
|
* Query with model fallback chain — tries primary model, then fallbacks.
|
|
29
29
|
* On provider-level errors, marks cooldown and tries next model.
|
|
30
30
|
*/
|
|
31
|
-
export declare function queryTextWithFallback(prompt: string, modelConfig: ModelConfig): Promise<{
|
|
31
|
+
export declare function queryTextWithFallback(prompt: string, modelConfig: ModelConfig, resolveOpts?: ResolveModelOptions): Promise<{
|
|
32
32
|
text: string;
|
|
33
33
|
usage?: LanguageModelUsage;
|
|
34
34
|
model: ResolvedModel;
|
package/dist/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,IAAI,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,IAAI,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAmB9E;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,cAAc,EAC1B,WAAW,CAAC,EAAE,mBAAmB,GAChC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC,CAkC7E;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACnC,SAAS,CAAC,EAAE,cAAc,EAC1B,WAAW,CAAC,EAAE,mBAAmB,GAChC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC,CA0C7E;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,WAAW,CAAC,EAAE,mBAAmB,GAChC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC/F"}
|
package/dist/query.js
CHANGED
|
@@ -20,8 +20,8 @@ async function handleBillingDisable(_provider) {
|
|
|
20
20
|
* Integrates with the cooldown system: marks provider cooldown on classified errors,
|
|
21
21
|
* clears cooldown on success. Uses async API key resolution (includes OAuth profiles).
|
|
22
22
|
*/
|
|
23
|
-
export async function queryText(prompt, model, reasoning) {
|
|
24
|
-
const m = resolveModel(model);
|
|
23
|
+
export async function queryText(prompt, model, reasoning, resolveOpts) {
|
|
24
|
+
const m = resolveModel(model, resolveOpts);
|
|
25
25
|
const provider = m.provider;
|
|
26
26
|
try {
|
|
27
27
|
const providerOptions = mapReasoningToProviderOptions(provider, reasoning, m.maxTokens);
|
|
@@ -59,8 +59,8 @@ export async function queryText(prompt, model, reasoning) {
|
|
|
59
59
|
* Streaming prompt -> text with progress callback.
|
|
60
60
|
* Integrates with the cooldown system. Uses async API key resolution.
|
|
61
61
|
*/
|
|
62
|
-
export async function queryStream(prompt, model, onProgress, reasoning) {
|
|
63
|
-
const m = resolveModel(model);
|
|
62
|
+
export async function queryStream(prompt, model, onProgress, reasoning, resolveOpts) {
|
|
63
|
+
const m = resolveModel(model, resolveOpts);
|
|
64
64
|
const provider = m.provider;
|
|
65
65
|
try {
|
|
66
66
|
const providerOptions = mapReasoningToProviderOptions(provider, reasoning, m.maxTokens);
|
|
@@ -104,7 +104,7 @@ export async function queryStream(prompt, model, onProgress, reasoning) {
|
|
|
104
104
|
* Query with model fallback chain — tries primary model, then fallbacks.
|
|
105
105
|
* On provider-level errors, marks cooldown and tries next model.
|
|
106
106
|
*/
|
|
107
|
-
export async function queryTextWithFallback(prompt, modelConfig) {
|
|
107
|
+
export async function queryTextWithFallback(prompt, modelConfig, resolveOpts) {
|
|
108
108
|
if (!modelConfig.primary) {
|
|
109
109
|
throw new Error("No primary model configured. Run 'polpo setup' or set POLPO_MODEL env var.");
|
|
110
110
|
}
|
|
@@ -116,7 +116,7 @@ export async function queryTextWithFallback(prompt, modelConfig) {
|
|
|
116
116
|
if (isProviderInCooldown(provider))
|
|
117
117
|
continue;
|
|
118
118
|
try {
|
|
119
|
-
const result = await queryText(prompt, spec);
|
|
119
|
+
const result = await queryText(prompt, spec, undefined, resolveOpts);
|
|
120
120
|
clearProviderCooldown(provider);
|
|
121
121
|
return { ...result, usedSpec: spec };
|
|
122
122
|
}
|
package/dist/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAA2B,MAAM,IAAI,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IACnD,iDAAiD;IACjD,iFAAiF;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,KAAc,EACd,SAA0B;
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polpo-ai/llm",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"description": "LLM abstraction for Polpo — multi-provider model resolution, streaming, cost tracking, and failover built on Vercel AI SDK + AI Gateway",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -18,11 +18,12 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@ai-sdk/openai": "^3.0.48",
|
|
21
|
-
"@
|
|
21
|
+
"@ai-sdk/openai-compatible": "^2.0.37",
|
|
22
|
+
"@polpo-ai/core": "0.5.6"
|
|
22
23
|
},
|
|
23
24
|
"peerDependencies": {
|
|
24
|
-
"ai": ">=
|
|
25
|
-
"
|
|
25
|
+
"@ai-sdk/gateway": ">=3.0.0",
|
|
26
|
+
"ai": ">=6.0.0"
|
|
26
27
|
},
|
|
27
28
|
"license": "MIT",
|
|
28
29
|
"repository": {
|