@x12i/ai-gateway 10.2.1 → 10.3.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/README.md +5 -5
- package/dist/activity-manager.js +0 -1
- package/dist/openrouter-routing.d.ts +1 -1
- package/dist/openrouter-routing.js +1 -5
- package/dist/types.d.ts +2 -3
- package/dist-cjs/activity-manager.cjs +0 -1
- package/dist-cjs/openrouter-routing.cjs +1 -5
- package/dist-cjs/openrouter-routing.d.ts +1 -1
- package/dist-cjs/types.d.ts +2 -3
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ Unified gateway for LLM provider routing, structured logging, optional Activix a
|
|
|
13
13
|
| **Activix** | Optional Mongo-backed activity rows; billing written from gateway-computed slice on **`completeRecord`** (`outer.cost` + root fields). No Activix **`autoCost`** re-pricing. |
|
|
14
14
|
| **Trace mode** | `diagnostics.mode === 'trace'` adds `metadata.attempts[]`, `metadata.usage`, and per-attempt **`costUsd`** / **`costStatus`**. |
|
|
15
15
|
|
|
16
|
-
Pinned dependency versions are in `package.json` (currently **Activix ^
|
|
16
|
+
Pinned dependency versions are in `package.json` (currently **Activix ^9.0**, **ai-tools ^3.3**, **ai-profiles ^3.4**, **ai-providers-router ^4.9**).
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -262,9 +262,9 @@ Gateway billing helpers (exported for tests/integrators): `resolveCostCompletion
|
|
|
262
262
|
|
|
263
263
|
---
|
|
264
264
|
|
|
265
|
-
## Activity tracking (@x12i/activix
|
|
265
|
+
## Activity tracking (@x12i/activix 9.0)
|
|
266
266
|
|
|
267
|
-
When tracking is enabled and no custom tracker is supplied, the gateway constructs Activix with fixed collection names (see `src/config/activity-tracking-config.ts`)
|
|
267
|
+
When tracking is enabled and no custom tracker is supplied, the gateway constructs Activix with fixed collection names (see `src/config/activity-tracking-config.ts`). **`storageMode` is omitted** — Activix 9 infers **`database`** when `MONGO_URI` (or env URI) is set and **`local`** playground when it is not. Configured Mongo that is unreachable causes **`init()` to fail** (no silent playground fallback); the gateway logs a warning and disables persistence for that process.
|
|
268
268
|
|
|
269
269
|
| Collection | Typical use |
|
|
270
270
|
|------------|-------------|
|
|
@@ -281,9 +281,9 @@ When tracking is enabled and no custom tracker is supplied, the gateway construc
|
|
|
281
281
|
- `outer.cost`: Activix cost shape (`usd`, `tokens`, `provider`, `model`, `details`)
|
|
282
282
|
- `response.metadata`: same billing slice as returned to callers
|
|
283
283
|
|
|
284
|
-
Activix
|
|
284
|
+
Activix runs **`materializeRecordRoutingAndBilling`** on persist (root **`config`** mirror from routing metadata). Gateway resolves billing **before** `completeRecord` and sets **`outer.cost`** from that slice.
|
|
285
285
|
|
|
286
|
-
**`autoCost`:** Activix
|
|
286
|
+
**`autoCost`:** Activix default is **`false`**. The gateway keeps **`autoCost: false`** on the default activity manager so billing is not recomputed via ai-tools at persist time (no second pricing path). Custom **`activityTracker`** instances may opt in to Activix **`autoCost`** (uses **@x12i/ai-tools** v3 **`calculateFromRecord`** when enabled). For dev hosts that need probe-then-fallback when Mongo is down, pass a custom **`activityTracker`** with **`storageMode: 'automatic'`**.
|
|
287
287
|
|
|
288
288
|
Mongo env: `MONGO_URI` + `MONGO_LOGS_DB` or `MONGO_DB`.
|
|
289
289
|
|
package/dist/activity-manager.js
CHANGED
|
@@ -7,6 +7,6 @@ export { readPreferOpenRouterFromEnv };
|
|
|
7
7
|
export declare function resolveOpenRouterApiKey(config?: GatewayConfig): string | undefined;
|
|
8
8
|
/**
|
|
9
9
|
* Effective OpenRouter preference for invoke-time routing (ai-tools `preferOpenRouter`).
|
|
10
|
-
* Constructor `openRouter.prefer`
|
|
10
|
+
* Constructor `openRouter.prefer` overrides env `PREFER_OPENROUTER`.
|
|
11
11
|
*/
|
|
12
12
|
export declare function resolvePreferOpenRouter(config?: GatewayConfig): boolean;
|
|
@@ -9,16 +9,12 @@ export function resolveOpenRouterApiKey(config = {}) {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Effective OpenRouter preference for invoke-time routing (ai-tools `preferOpenRouter`).
|
|
12
|
-
* Constructor `openRouter.prefer`
|
|
12
|
+
* Constructor `openRouter.prefer` overrides env `PREFER_OPENROUTER`.
|
|
13
13
|
*/
|
|
14
14
|
export function resolvePreferOpenRouter(config = {}) {
|
|
15
15
|
if (config.openRouter?.prefer === true)
|
|
16
16
|
return true;
|
|
17
17
|
if (config.openRouter?.prefer === false)
|
|
18
18
|
return false;
|
|
19
|
-
if (config.openRouter?.enabled === true)
|
|
20
|
-
return true;
|
|
21
|
-
if (config.openRouter?.enabled === false)
|
|
22
|
-
return false;
|
|
23
19
|
return resolvePreferOpenRouterPreference();
|
|
24
20
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -391,11 +391,10 @@ export interface GatewayConfig extends Omit<RouterConfig, 'defaultEngine' | 'log
|
|
|
391
391
|
};
|
|
392
392
|
/**
|
|
393
393
|
* OpenRouter preference (not a hard off-switch when {@link openrouter}.apiKey or OPENROUTER_API_KEY is set).
|
|
394
|
-
* - `prefer: true`
|
|
395
|
-
* - `prefer: false`
|
|
394
|
+
* - `prefer: true` or omitted env (default true): prefer OpenRouter when OPENROUTER_API_KEY is present.
|
|
395
|
+
* - `prefer: false` or PREFER_OPENROUTER=false: use direct providers when their API keys exist; OpenRouter still used as fallback when a requested provider has no key.
|
|
396
396
|
*/
|
|
397
397
|
openRouter?: {
|
|
398
|
-
enabled?: boolean;
|
|
399
398
|
prefer?: boolean;
|
|
400
399
|
};
|
|
401
400
|
/**
|
|
@@ -9,16 +9,12 @@ export function resolveOpenRouterApiKey(config = {}) {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Effective OpenRouter preference for invoke-time routing (ai-tools `preferOpenRouter`).
|
|
12
|
-
* Constructor `openRouter.prefer`
|
|
12
|
+
* Constructor `openRouter.prefer` overrides env `PREFER_OPENROUTER`.
|
|
13
13
|
*/
|
|
14
14
|
export function resolvePreferOpenRouter(config = {}) {
|
|
15
15
|
if (config.openRouter?.prefer === true)
|
|
16
16
|
return true;
|
|
17
17
|
if (config.openRouter?.prefer === false)
|
|
18
18
|
return false;
|
|
19
|
-
if (config.openRouter?.enabled === true)
|
|
20
|
-
return true;
|
|
21
|
-
if (config.openRouter?.enabled === false)
|
|
22
|
-
return false;
|
|
23
19
|
return resolvePreferOpenRouterPreference();
|
|
24
20
|
}
|
|
@@ -7,6 +7,6 @@ export { readPreferOpenRouterFromEnv };
|
|
|
7
7
|
export declare function resolveOpenRouterApiKey(config?: GatewayConfig): string | undefined;
|
|
8
8
|
/**
|
|
9
9
|
* Effective OpenRouter preference for invoke-time routing (ai-tools `preferOpenRouter`).
|
|
10
|
-
* Constructor `openRouter.prefer`
|
|
10
|
+
* Constructor `openRouter.prefer` overrides env `PREFER_OPENROUTER`.
|
|
11
11
|
*/
|
|
12
12
|
export declare function resolvePreferOpenRouter(config?: GatewayConfig): boolean;
|
package/dist-cjs/types.d.ts
CHANGED
|
@@ -391,11 +391,10 @@ export interface GatewayConfig extends Omit<RouterConfig, 'defaultEngine' | 'log
|
|
|
391
391
|
};
|
|
392
392
|
/**
|
|
393
393
|
* OpenRouter preference (not a hard off-switch when {@link openrouter}.apiKey or OPENROUTER_API_KEY is set).
|
|
394
|
-
* - `prefer: true`
|
|
395
|
-
* - `prefer: false`
|
|
394
|
+
* - `prefer: true` or omitted env (default true): prefer OpenRouter when OPENROUTER_API_KEY is present.
|
|
395
|
+
* - `prefer: false` or PREFER_OPENROUTER=false: use direct providers when their API keys exist; OpenRouter still used as fallback when a requested provider has no key.
|
|
396
396
|
*/
|
|
397
397
|
openRouter?: {
|
|
398
|
-
enabled?: boolean;
|
|
399
398
|
prefer?: boolean;
|
|
400
399
|
};
|
|
401
400
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@x12i/ai-gateway",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.3.0",
|
|
4
4
|
"description": "AI Gateway - Unified interface for LLM provider routing and management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
"author": "x12i",
|
|
42
42
|
"license": "mit",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@x12i/activix": "^
|
|
45
|
-
"@x12i/ai-profiles": "^3.
|
|
44
|
+
"@x12i/activix": "^9.0.0",
|
|
45
|
+
"@x12i/ai-profiles": "^3.4.0",
|
|
46
46
|
"@x12i/ai-providers-router": "^4.9.2",
|
|
47
|
-
"@x12i/ai-tools": "^3.3.
|
|
47
|
+
"@x12i/ai-tools": "^3.3.3",
|
|
48
48
|
"@x12i/flex-md": "^4.8.0",
|
|
49
49
|
"@x12i/logxer": "^4.6.0",
|
|
50
50
|
"@x12i/rendrix": "^4.3.0"
|