@inkeep/agents-run-api 0.0.0-dev-20250919192748 → 0.0.0-dev-20250920002849
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/index.cjs +33 -12
- package/dist/index.js +33 -12
- package/package.json +4 -2
package/dist/index.cjs
CHANGED
|
@@ -28,8 +28,10 @@ var destr = require('destr');
|
|
|
28
28
|
var traverse = require('traverse');
|
|
29
29
|
var ai = require('ai');
|
|
30
30
|
var anthropic = require('@ai-sdk/anthropic');
|
|
31
|
+
var gateway = require('@ai-sdk/gateway');
|
|
31
32
|
var google = require('@ai-sdk/google');
|
|
32
33
|
var openai = require('@ai-sdk/openai');
|
|
34
|
+
var aiSdkProvider = require('@openrouter/ai-sdk-provider');
|
|
33
35
|
var jmespath = require('jmespath');
|
|
34
36
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
35
37
|
var streamableHttp_js = require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
@@ -1411,6 +1413,18 @@ var _ModelFactory = class _ModelFactory {
|
|
|
1411
1413
|
return openai.createOpenAI(config);
|
|
1412
1414
|
case "google":
|
|
1413
1415
|
return google.createGoogleGenerativeAI(config);
|
|
1416
|
+
case "openrouter":
|
|
1417
|
+
return {
|
|
1418
|
+
...aiSdkProvider.createOpenRouter(config),
|
|
1419
|
+
textEmbeddingModel: () => {
|
|
1420
|
+
throw new Error("OpenRouter does not support text embeddings");
|
|
1421
|
+
},
|
|
1422
|
+
imageModel: () => {
|
|
1423
|
+
throw new Error("OpenRouter does not support image generation");
|
|
1424
|
+
}
|
|
1425
|
+
};
|
|
1426
|
+
case "gateway":
|
|
1427
|
+
return gateway.createGateway(config);
|
|
1414
1428
|
default:
|
|
1415
1429
|
throw new Error(`Unsupported provider: ${provider}`);
|
|
1416
1430
|
}
|
|
@@ -1470,26 +1484,29 @@ var _ModelFactory = class _ModelFactory {
|
|
|
1470
1484
|
return openai.openai(modelName);
|
|
1471
1485
|
case "google":
|
|
1472
1486
|
return google.google(modelName);
|
|
1487
|
+
case "openrouter":
|
|
1488
|
+
return aiSdkProvider.openrouter(modelName);
|
|
1489
|
+
case "gateway":
|
|
1490
|
+
return gateway.gateway(modelName);
|
|
1473
1491
|
default:
|
|
1474
|
-
throw new Error(
|
|
1492
|
+
throw new Error(
|
|
1493
|
+
`Unsupported provider: ${provider}. Supported providers are: ${_ModelFactory.BUILT_IN_PROVIDERS.join(", ")}. To access other models, use OpenRouter (openrouter/model-id) or Vercel AI Gateway (gateway/model-id).`
|
|
1494
|
+
);
|
|
1475
1495
|
}
|
|
1476
1496
|
}
|
|
1477
1497
|
/**
|
|
1478
1498
|
* Parse model string to extract provider and model name
|
|
1479
1499
|
* Examples: "anthropic/claude-sonnet-4" -> { provider: "anthropic", modelName: "claude-sonnet-4" }
|
|
1500
|
+
* "openrouter/anthropic/claude-sonnet-4" -> { provider: "openrouter", modelName: "anthropic/claude-sonnet-4" }
|
|
1480
1501
|
* "claude-sonnet-4" -> { provider: "anthropic", modelName: "claude-sonnet-4" } (default to anthropic)
|
|
1481
1502
|
*/
|
|
1482
1503
|
static parseModelString(modelString) {
|
|
1483
1504
|
if (modelString.includes("/")) {
|
|
1484
1505
|
const [provider, ...modelParts] = modelString.split("/");
|
|
1485
1506
|
const normalizedProvider = provider.toLowerCase();
|
|
1486
|
-
if (!_ModelFactory.
|
|
1487
|
-
logger5.error(
|
|
1488
|
-
{ provider: normalizedProvider, modelName: modelParts.join("/") },
|
|
1489
|
-
"Unsupported provider detected, falling back to anthropic"
|
|
1490
|
-
);
|
|
1507
|
+
if (!_ModelFactory.BUILT_IN_PROVIDERS.includes(normalizedProvider)) {
|
|
1491
1508
|
throw new Error(
|
|
1492
|
-
`Unsupported provider: ${normalizedProvider}.
|
|
1509
|
+
`Unsupported provider: ${normalizedProvider}. Supported providers are: ${_ModelFactory.BUILT_IN_PROVIDERS.join(", ")}. To access other models, use OpenRouter (openrouter/model-id) or Vercel AI Gateway (gateway/model-id).`
|
|
1493
1510
|
);
|
|
1494
1511
|
}
|
|
1495
1512
|
return {
|
|
@@ -1498,9 +1515,7 @@ var _ModelFactory = class _ModelFactory {
|
|
|
1498
1515
|
// In case model name has slashes
|
|
1499
1516
|
};
|
|
1500
1517
|
}
|
|
1501
|
-
throw new Error(
|
|
1502
|
-
`Invalid model provided: ${modelString}. Please provide a model in the format of provider/model-name.`
|
|
1503
|
-
);
|
|
1518
|
+
throw new Error(`No provider specified in model string: ${modelString}`);
|
|
1504
1519
|
}
|
|
1505
1520
|
/**
|
|
1506
1521
|
* Get generation parameters from provider options
|
|
@@ -1564,9 +1579,15 @@ var _ModelFactory = class _ModelFactory {
|
|
|
1564
1579
|
}
|
|
1565
1580
|
};
|
|
1566
1581
|
/**
|
|
1567
|
-
*
|
|
1582
|
+
* Built-in providers that have special handling
|
|
1568
1583
|
*/
|
|
1569
|
-
__publicField(_ModelFactory, "
|
|
1584
|
+
__publicField(_ModelFactory, "BUILT_IN_PROVIDERS", [
|
|
1585
|
+
"anthropic",
|
|
1586
|
+
"openai",
|
|
1587
|
+
"google",
|
|
1588
|
+
"openrouter",
|
|
1589
|
+
"gateway"
|
|
1590
|
+
]);
|
|
1570
1591
|
var ModelFactory = _ModelFactory;
|
|
1571
1592
|
|
|
1572
1593
|
// src/utils/graph-session.ts
|
package/dist/index.js
CHANGED
|
@@ -25,8 +25,10 @@ import destr from 'destr';
|
|
|
25
25
|
import traverse from 'traverse';
|
|
26
26
|
import { createUIMessageStream, JsonToSseTransformStream, parsePartialJson, generateText, generateObject, tool, streamText, streamObject } from 'ai';
|
|
27
27
|
import { createAnthropic, anthropic } from '@ai-sdk/anthropic';
|
|
28
|
+
import { createGateway, gateway } from '@ai-sdk/gateway';
|
|
28
29
|
import { createGoogleGenerativeAI, google } from '@ai-sdk/google';
|
|
29
30
|
import { createOpenAI, openai } from '@ai-sdk/openai';
|
|
31
|
+
import { createOpenRouter, openrouter } from '@openrouter/ai-sdk-provider';
|
|
30
32
|
import jmespath from 'jmespath';
|
|
31
33
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
32
34
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
@@ -1140,6 +1142,18 @@ var _ModelFactory = class _ModelFactory {
|
|
|
1140
1142
|
return createOpenAI(config);
|
|
1141
1143
|
case "google":
|
|
1142
1144
|
return createGoogleGenerativeAI(config);
|
|
1145
|
+
case "openrouter":
|
|
1146
|
+
return {
|
|
1147
|
+
...createOpenRouter(config),
|
|
1148
|
+
textEmbeddingModel: () => {
|
|
1149
|
+
throw new Error("OpenRouter does not support text embeddings");
|
|
1150
|
+
},
|
|
1151
|
+
imageModel: () => {
|
|
1152
|
+
throw new Error("OpenRouter does not support image generation");
|
|
1153
|
+
}
|
|
1154
|
+
};
|
|
1155
|
+
case "gateway":
|
|
1156
|
+
return createGateway(config);
|
|
1143
1157
|
default:
|
|
1144
1158
|
throw new Error(`Unsupported provider: ${provider}`);
|
|
1145
1159
|
}
|
|
@@ -1199,26 +1213,29 @@ var _ModelFactory = class _ModelFactory {
|
|
|
1199
1213
|
return openai(modelName);
|
|
1200
1214
|
case "google":
|
|
1201
1215
|
return google(modelName);
|
|
1216
|
+
case "openrouter":
|
|
1217
|
+
return openrouter(modelName);
|
|
1218
|
+
case "gateway":
|
|
1219
|
+
return gateway(modelName);
|
|
1202
1220
|
default:
|
|
1203
|
-
throw new Error(
|
|
1221
|
+
throw new Error(
|
|
1222
|
+
`Unsupported provider: ${provider}. Supported providers are: ${_ModelFactory.BUILT_IN_PROVIDERS.join(", ")}. To access other models, use OpenRouter (openrouter/model-id) or Vercel AI Gateway (gateway/model-id).`
|
|
1223
|
+
);
|
|
1204
1224
|
}
|
|
1205
1225
|
}
|
|
1206
1226
|
/**
|
|
1207
1227
|
* Parse model string to extract provider and model name
|
|
1208
1228
|
* Examples: "anthropic/claude-sonnet-4" -> { provider: "anthropic", modelName: "claude-sonnet-4" }
|
|
1229
|
+
* "openrouter/anthropic/claude-sonnet-4" -> { provider: "openrouter", modelName: "anthropic/claude-sonnet-4" }
|
|
1209
1230
|
* "claude-sonnet-4" -> { provider: "anthropic", modelName: "claude-sonnet-4" } (default to anthropic)
|
|
1210
1231
|
*/
|
|
1211
1232
|
static parseModelString(modelString) {
|
|
1212
1233
|
if (modelString.includes("/")) {
|
|
1213
1234
|
const [provider, ...modelParts] = modelString.split("/");
|
|
1214
1235
|
const normalizedProvider = provider.toLowerCase();
|
|
1215
|
-
if (!_ModelFactory.
|
|
1216
|
-
logger5.error(
|
|
1217
|
-
{ provider: normalizedProvider, modelName: modelParts.join("/") },
|
|
1218
|
-
"Unsupported provider detected, falling back to anthropic"
|
|
1219
|
-
);
|
|
1236
|
+
if (!_ModelFactory.BUILT_IN_PROVIDERS.includes(normalizedProvider)) {
|
|
1220
1237
|
throw new Error(
|
|
1221
|
-
`Unsupported provider: ${normalizedProvider}.
|
|
1238
|
+
`Unsupported provider: ${normalizedProvider}. Supported providers are: ${_ModelFactory.BUILT_IN_PROVIDERS.join(", ")}. To access other models, use OpenRouter (openrouter/model-id) or Vercel AI Gateway (gateway/model-id).`
|
|
1222
1239
|
);
|
|
1223
1240
|
}
|
|
1224
1241
|
return {
|
|
@@ -1227,9 +1244,7 @@ var _ModelFactory = class _ModelFactory {
|
|
|
1227
1244
|
// In case model name has slashes
|
|
1228
1245
|
};
|
|
1229
1246
|
}
|
|
1230
|
-
throw new Error(
|
|
1231
|
-
`Invalid model provided: ${modelString}. Please provide a model in the format of provider/model-name.`
|
|
1232
|
-
);
|
|
1247
|
+
throw new Error(`No provider specified in model string: ${modelString}`);
|
|
1233
1248
|
}
|
|
1234
1249
|
/**
|
|
1235
1250
|
* Get generation parameters from provider options
|
|
@@ -1293,9 +1308,15 @@ var _ModelFactory = class _ModelFactory {
|
|
|
1293
1308
|
}
|
|
1294
1309
|
};
|
|
1295
1310
|
/**
|
|
1296
|
-
*
|
|
1311
|
+
* Built-in providers that have special handling
|
|
1297
1312
|
*/
|
|
1298
|
-
__publicField(_ModelFactory, "
|
|
1313
|
+
__publicField(_ModelFactory, "BUILT_IN_PROVIDERS", [
|
|
1314
|
+
"anthropic",
|
|
1315
|
+
"openai",
|
|
1316
|
+
"google",
|
|
1317
|
+
"openrouter",
|
|
1318
|
+
"gateway"
|
|
1319
|
+
]);
|
|
1299
1320
|
var ModelFactory = _ModelFactory;
|
|
1300
1321
|
|
|
1301
1322
|
// src/utils/stream-registry.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/agents-run-api",
|
|
3
|
-
"version": "0.0.0-dev-
|
|
3
|
+
"version": "0.0.0-dev-20250920002849",
|
|
4
4
|
"description": "Agents Run API for Inkeep Agent Framework - handles chat, agent execution, and streaming",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@ai-sdk/anthropic": "2.0.2",
|
|
14
|
+
"@ai-sdk/gateway": "^1.0.23",
|
|
14
15
|
"@ai-sdk/google": "^2.0.14",
|
|
15
16
|
"@ai-sdk/openai": "2.0.11",
|
|
16
17
|
"@ai-sdk/react": "2.0.11",
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
"@hono/swagger-ui": "^0.5.1",
|
|
20
21
|
"@hono/zod-openapi": "^1.0.2",
|
|
21
22
|
"@modelcontextprotocol/sdk": "^1.17.2",
|
|
23
|
+
"@openrouter/ai-sdk-provider": "^1.2.0",
|
|
22
24
|
"@opentelemetry/api": "^1.9.0",
|
|
23
25
|
"@opentelemetry/auto-instrumentations-node": "^0.64.1",
|
|
24
26
|
"@opentelemetry/baggage-span-processor": "^0.4.0",
|
|
@@ -45,7 +47,7 @@
|
|
|
45
47
|
"traverse": "^0.6.11",
|
|
46
48
|
"ts-pattern": "^5.7.1",
|
|
47
49
|
"zod": "^4.1.5",
|
|
48
|
-
"@inkeep/agents-core": "^0.0.0-dev-
|
|
50
|
+
"@inkeep/agents-core": "^0.0.0-dev-20250920002849"
|
|
49
51
|
},
|
|
50
52
|
"devDependencies": {
|
|
51
53
|
"@hono/vite-dev-server": "^0.20.1",
|