@velum-labs/routekit-gateway 1.0.6 → 1.0.7
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.
|
@@ -18,7 +18,7 @@ export type BedrockProviderSourceOptions = {
|
|
|
18
18
|
mantleBackend?: BedrockMantleBackend;
|
|
19
19
|
};
|
|
20
20
|
export { fromBedrockConverseOutput, toBedrockConverseInput };
|
|
21
|
-
export declare const BEDROCK_OPENAI_ALLOWLIST: readonly ["openai.gpt-5.
|
|
21
|
+
export declare const BEDROCK_OPENAI_ALLOWLIST: readonly ["openai.gpt-5.6-sol", "openai.gpt-5.6-terra", "openai.gpt-5.6-luna"];
|
|
22
22
|
export declare function isBedrockOpenAiModel(modelId: string): boolean;
|
|
23
23
|
/**
|
|
24
24
|
* Remove OpenAI/Codex protocol fields that bedrock-mantle rejects while
|
|
@@ -12,8 +12,6 @@ import { OpenAiBackend } from "./openai-backend.js";
|
|
|
12
12
|
import { gatewayTry, gatewayTryPromise } from "../effect/gateway.js";
|
|
13
13
|
export { fromBedrockConverseOutput, toBedrockConverseInput };
|
|
14
14
|
export const BEDROCK_OPENAI_ALLOWLIST = [
|
|
15
|
-
"openai.gpt-5.4",
|
|
16
|
-
"openai.gpt-5.5",
|
|
17
15
|
"openai.gpt-5.6-sol",
|
|
18
16
|
"openai.gpt-5.6-terra",
|
|
19
17
|
"openai.gpt-5.6-luna"
|
|
@@ -126,13 +126,18 @@ test("Bedrock discovery includes active Anthropic foundations and paginated back
|
|
|
126
126
|
assert.equal(commands.length, 3);
|
|
127
127
|
});
|
|
128
128
|
test("Bedrock OpenAI model ids stay on mantle and never match Anthropic Converse", () => {
|
|
129
|
-
assert.equal(isBedrockOpenAiModel("openai.gpt-5.
|
|
129
|
+
assert.equal(isBedrockOpenAiModel("openai.gpt-5.7"), true);
|
|
130
130
|
assert.equal(isBedrockOpenAiModel("openai.gpt-5.6-sol"), true);
|
|
131
131
|
assert.equal(isBedrockOpenAiModel("us.openai.gpt-5.6-terra"), true);
|
|
132
132
|
assert.equal(isBedrockOpenAiModel("anthropic.claude-3"), false);
|
|
133
133
|
assert.equal(isBedrockOpenAiModel("us.anthropic.claude-3"), false);
|
|
134
134
|
});
|
|
135
|
-
test("Bedrock discovery
|
|
135
|
+
test("Bedrock discovery advertises only verified OpenAI mantle models", async () => {
|
|
136
|
+
assert.deepEqual(BEDROCK_OPENAI_ALLOWLIST, [
|
|
137
|
+
"openai.gpt-5.6-sol",
|
|
138
|
+
"openai.gpt-5.6-terra",
|
|
139
|
+
"openai.gpt-5.6-luna"
|
|
140
|
+
]);
|
|
136
141
|
const source = new BedrockProviderSource({
|
|
137
142
|
env: { AWS_BEARER_TOKEN_BEDROCK: "bedrock-key", AWS_REGION: "us-east-1" },
|
|
138
143
|
controlClient: {
|
|
@@ -205,14 +210,14 @@ test("Bedrock routes OpenAI models through mantle and leaves Anthropic on Conver
|
|
|
205
210
|
}
|
|
206
211
|
}
|
|
207
212
|
});
|
|
208
|
-
assert.equal(source.responses.kind === "responses" && source.responses.supports("openai.gpt-5.
|
|
213
|
+
assert.equal(source.responses.kind === "responses" && source.responses.supports("openai.gpt-5.6-sol"), true);
|
|
209
214
|
assert.equal(source.responses.kind === "responses" && source.responses.supports("anthropic.claude-3"), false);
|
|
210
215
|
assert.equal(source.capabilities.reasoningForModel("openai.gpt-5.6-sol")?.wireShape, "openai-responses");
|
|
211
216
|
const openaiChat = await runRouteKitEffect(source.requests.chat({
|
|
212
|
-
model: "openai.gpt-5.
|
|
217
|
+
model: "openai.gpt-5.6-sol",
|
|
213
218
|
messages: [{ role: "user", content: "hi" }]
|
|
214
219
|
}));
|
|
215
|
-
assert.deepEqual(await openaiChat.json(), { id: "chat", model: "openai.gpt-5.
|
|
220
|
+
assert.deepEqual(await openaiChat.json(), { id: "chat", model: "openai.gpt-5.6-sol" });
|
|
216
221
|
assert.equal(source.responses.kind, "responses");
|
|
217
222
|
if (source.responses.kind !== "responses")
|
|
218
223
|
throw new Error("expected Responses support");
|
|
@@ -232,7 +237,7 @@ test("Bedrock routes OpenAI models through mantle and leaves Anthropic on Conver
|
|
|
232
237
|
assert.equal(runtimeCalls.length, 1);
|
|
233
238
|
assert.equal(runtimeCalls[0] instanceof ConverseCommand, true);
|
|
234
239
|
assert.deepEqual(mantleCalls, [
|
|
235
|
-
{ kind: "chat", model: "openai.gpt-5.
|
|
240
|
+
{ kind: "chat", model: "openai.gpt-5.6-sol" },
|
|
236
241
|
{ kind: "responses", model: "openai.gpt-5.6-terra" }
|
|
237
242
|
]);
|
|
238
243
|
const rejected = await runRouteKitEffect(source.responses.execute({
|
|
@@ -304,7 +309,7 @@ test("Bedrock OpenAI chat without a mantle key returns 400 and skips Converse",
|
|
|
304
309
|
}
|
|
305
310
|
});
|
|
306
311
|
const response = await runRouteKitEffect(source.requests.chat({
|
|
307
|
-
model: "openai.gpt-5.
|
|
312
|
+
model: "openai.gpt-5.6-luna",
|
|
308
313
|
messages: [{ role: "user", content: "hi" }]
|
|
309
314
|
}));
|
|
310
315
|
assert.equal(response.status, 400);
|
package/dist/test/chat.test.js
CHANGED
|
@@ -134,7 +134,7 @@ test("GPT-5 Chat Completions translate max_tokens to max_completion_tokens", asy
|
|
|
134
134
|
for (const model of [
|
|
135
135
|
"gpt-5.6-sol",
|
|
136
136
|
"openai.gpt-5.6-luna",
|
|
137
|
-
"bedrock/openai.gpt-5.
|
|
137
|
+
"bedrock/openai.gpt-5.6-sol",
|
|
138
138
|
"routekit/bedrock/us.openai.gpt-5.7"
|
|
139
139
|
]) {
|
|
140
140
|
const response = await fetch(`${gateway.url()}/v1/chat/completions`, {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velum-labs/routekit-gateway",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.7",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/velum-labs/routekit.git",
|
|
@@ -45,12 +45,12 @@
|
|
|
45
45
|
"@aws-sdk/client-bedrock": "3.1095.0",
|
|
46
46
|
"@aws-sdk/client-bedrock-runtime": "3.1095.0",
|
|
47
47
|
"effect": "4.0.0-rc.108",
|
|
48
|
-
"@velum-labs/routekit-config-core": "1.0.
|
|
49
|
-
"@velum-labs/routekit-contracts": "1.0.
|
|
50
|
-
"@velum-labs/routekit-eval-contracts": "1.0.
|
|
51
|
-
"@velum-labs/routekit-eval-core": "1.0.
|
|
52
|
-
"@velum-labs/routekit-registry": "1.0.
|
|
53
|
-
"@velum-labs/routekit-runtime": "1.0.
|
|
48
|
+
"@velum-labs/routekit-config-core": "1.0.7",
|
|
49
|
+
"@velum-labs/routekit-contracts": "1.0.7",
|
|
50
|
+
"@velum-labs/routekit-eval-contracts": "1.0.7",
|
|
51
|
+
"@velum-labs/routekit-eval-core": "1.0.7",
|
|
52
|
+
"@velum-labs/routekit-registry": "1.0.7",
|
|
53
|
+
"@velum-labs/routekit-runtime": "1.0.7"
|
|
54
54
|
},
|
|
55
55
|
"keywords": [
|
|
56
56
|
"routekit",
|