@hebo-ai/gateway 0.5.2 → 0.6.0-rc0

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.
Files changed (180) hide show
  1. package/README.md +32 -1
  2. package/package.json +17 -12
  3. package/src/endpoints/chat-completions/converters.test.ts +85 -1
  4. package/src/endpoints/chat-completions/converters.ts +139 -18
  5. package/src/endpoints/chat-completions/handler.test.ts +2 -0
  6. package/src/endpoints/chat-completions/index.ts +1 -0
  7. package/src/endpoints/chat-completions/otel.ts +1 -0
  8. package/src/endpoints/chat-completions/schema.ts +38 -4
  9. package/src/endpoints/embeddings/index.ts +1 -0
  10. package/src/lifecycle.ts +2 -2
  11. package/src/models/anthropic/middleware.test.ts +45 -1
  12. package/src/models/anthropic/middleware.ts +21 -1
  13. package/src/models/google/middleware.test.ts +30 -1
  14. package/src/models/google/middleware.ts +20 -1
  15. package/src/models/openai/middleware.test.ts +32 -1
  16. package/src/models/openai/middleware.ts +25 -1
  17. package/src/providers/bedrock/middleware.test.ts +121 -1
  18. package/src/providers/bedrock/middleware.ts +61 -1
  19. package/src/telemetry/fetch.ts +31 -4
  20. package/src/telemetry/index.ts +1 -0
  21. package/dist/config.d.ts +0 -2
  22. package/dist/config.js +0 -81
  23. package/dist/endpoints/chat-completions/converters.d.ts +0 -43
  24. package/dist/endpoints/chat-completions/converters.js +0 -551
  25. package/dist/endpoints/chat-completions/handler.d.ts +0 -2
  26. package/dist/endpoints/chat-completions/handler.js +0 -145
  27. package/dist/endpoints/chat-completions/index.d.ts +0 -3
  28. package/dist/endpoints/chat-completions/index.js +0 -3
  29. package/dist/endpoints/chat-completions/otel.d.ts +0 -6
  30. package/dist/endpoints/chat-completions/otel.js +0 -134
  31. package/dist/endpoints/chat-completions/schema.d.ts +0 -946
  32. package/dist/endpoints/chat-completions/schema.js +0 -257
  33. package/dist/endpoints/embeddings/converters.d.ts +0 -10
  34. package/dist/endpoints/embeddings/converters.js +0 -31
  35. package/dist/endpoints/embeddings/handler.d.ts +0 -2
  36. package/dist/endpoints/embeddings/handler.js +0 -101
  37. package/dist/endpoints/embeddings/index.d.ts +0 -3
  38. package/dist/endpoints/embeddings/index.js +0 -3
  39. package/dist/endpoints/embeddings/otel.d.ts +0 -6
  40. package/dist/endpoints/embeddings/otel.js +0 -35
  41. package/dist/endpoints/embeddings/schema.d.ts +0 -38
  42. package/dist/endpoints/embeddings/schema.js +0 -26
  43. package/dist/endpoints/models/converters.d.ts +0 -6
  44. package/dist/endpoints/models/converters.js +0 -42
  45. package/dist/endpoints/models/handler.d.ts +0 -2
  46. package/dist/endpoints/models/handler.js +0 -29
  47. package/dist/endpoints/models/index.d.ts +0 -3
  48. package/dist/endpoints/models/index.js +0 -3
  49. package/dist/endpoints/models/schema.d.ts +0 -42
  50. package/dist/endpoints/models/schema.js +0 -31
  51. package/dist/errors/ai-sdk.d.ts +0 -2
  52. package/dist/errors/ai-sdk.js +0 -52
  53. package/dist/errors/gateway.d.ts +0 -5
  54. package/dist/errors/gateway.js +0 -13
  55. package/dist/errors/openai.d.ts +0 -20
  56. package/dist/errors/openai.js +0 -40
  57. package/dist/errors/utils.d.ts +0 -22
  58. package/dist/errors/utils.js +0 -44
  59. package/dist/gateway.d.ts +0 -9
  60. package/dist/gateway.js +0 -34
  61. package/dist/index.d.ts +0 -14
  62. package/dist/index.js +0 -13
  63. package/dist/lifecycle.d.ts +0 -2
  64. package/dist/lifecycle.js +0 -94
  65. package/dist/logger/default.d.ts +0 -4
  66. package/dist/logger/default.js +0 -81
  67. package/dist/logger/index.d.ts +0 -14
  68. package/dist/logger/index.js +0 -25
  69. package/dist/middleware/common.d.ts +0 -12
  70. package/dist/middleware/common.js +0 -145
  71. package/dist/middleware/matcher.d.ts +0 -27
  72. package/dist/middleware/matcher.js +0 -112
  73. package/dist/middleware/utils.d.ts +0 -2
  74. package/dist/middleware/utils.js +0 -27
  75. package/dist/models/amazon/index.d.ts +0 -2
  76. package/dist/models/amazon/index.js +0 -2
  77. package/dist/models/amazon/middleware.d.ts +0 -3
  78. package/dist/models/amazon/middleware.js +0 -65
  79. package/dist/models/amazon/presets.d.ts +0 -2390
  80. package/dist/models/amazon/presets.js +0 -80
  81. package/dist/models/anthropic/index.d.ts +0 -2
  82. package/dist/models/anthropic/index.js +0 -2
  83. package/dist/models/anthropic/middleware.d.ts +0 -4
  84. package/dist/models/anthropic/middleware.js +0 -111
  85. package/dist/models/anthropic/presets.d.ts +0 -4802
  86. package/dist/models/anthropic/presets.js +0 -135
  87. package/dist/models/catalog.d.ts +0 -4
  88. package/dist/models/catalog.js +0 -4
  89. package/dist/models/cohere/index.d.ts +0 -2
  90. package/dist/models/cohere/index.js +0 -2
  91. package/dist/models/cohere/middleware.d.ts +0 -3
  92. package/dist/models/cohere/middleware.js +0 -60
  93. package/dist/models/cohere/presets.d.ts +0 -2918
  94. package/dist/models/cohere/presets.js +0 -134
  95. package/dist/models/google/index.d.ts +0 -2
  96. package/dist/models/google/index.js +0 -2
  97. package/dist/models/google/middleware.d.ts +0 -7
  98. package/dist/models/google/middleware.js +0 -103
  99. package/dist/models/google/presets.d.ts +0 -2553
  100. package/dist/models/google/presets.js +0 -83
  101. package/dist/models/meta/index.d.ts +0 -1
  102. package/dist/models/meta/index.js +0 -1
  103. package/dist/models/meta/presets.d.ts +0 -3254
  104. package/dist/models/meta/presets.js +0 -95
  105. package/dist/models/openai/index.d.ts +0 -2
  106. package/dist/models/openai/index.js +0 -2
  107. package/dist/models/openai/middleware.d.ts +0 -3
  108. package/dist/models/openai/middleware.js +0 -62
  109. package/dist/models/openai/presets.d.ts +0 -6634
  110. package/dist/models/openai/presets.js +0 -213
  111. package/dist/models/types.d.ts +0 -20
  112. package/dist/models/types.js +0 -84
  113. package/dist/models/voyage/index.d.ts +0 -2
  114. package/dist/models/voyage/index.js +0 -2
  115. package/dist/models/voyage/middleware.d.ts +0 -2
  116. package/dist/models/voyage/middleware.js +0 -18
  117. package/dist/models/voyage/presets.d.ts +0 -3471
  118. package/dist/models/voyage/presets.js +0 -85
  119. package/dist/providers/anthropic/canonical.d.ts +0 -3
  120. package/dist/providers/anthropic/canonical.js +0 -9
  121. package/dist/providers/anthropic/index.d.ts +0 -1
  122. package/dist/providers/anthropic/index.js +0 -1
  123. package/dist/providers/bedrock/canonical.d.ts +0 -17
  124. package/dist/providers/bedrock/canonical.js +0 -61
  125. package/dist/providers/bedrock/index.d.ts +0 -2
  126. package/dist/providers/bedrock/index.js +0 -2
  127. package/dist/providers/bedrock/middleware.d.ts +0 -3
  128. package/dist/providers/bedrock/middleware.js +0 -55
  129. package/dist/providers/cohere/canonical.d.ts +0 -3
  130. package/dist/providers/cohere/canonical.js +0 -17
  131. package/dist/providers/cohere/index.d.ts +0 -1
  132. package/dist/providers/cohere/index.js +0 -1
  133. package/dist/providers/groq/canonical.d.ts +0 -3
  134. package/dist/providers/groq/canonical.js +0 -12
  135. package/dist/providers/groq/index.d.ts +0 -1
  136. package/dist/providers/groq/index.js +0 -1
  137. package/dist/providers/openai/canonical.d.ts +0 -3
  138. package/dist/providers/openai/canonical.js +0 -8
  139. package/dist/providers/openai/index.d.ts +0 -1
  140. package/dist/providers/openai/index.js +0 -1
  141. package/dist/providers/registry.d.ts +0 -24
  142. package/dist/providers/registry.js +0 -100
  143. package/dist/providers/types.d.ts +0 -7
  144. package/dist/providers/types.js +0 -11
  145. package/dist/providers/vertex/canonical.d.ts +0 -3
  146. package/dist/providers/vertex/canonical.js +0 -8
  147. package/dist/providers/vertex/index.d.ts +0 -1
  148. package/dist/providers/vertex/index.js +0 -1
  149. package/dist/providers/voyage/canonical.d.ts +0 -3
  150. package/dist/providers/voyage/canonical.js +0 -7
  151. package/dist/providers/voyage/index.d.ts +0 -1
  152. package/dist/providers/voyage/index.js +0 -1
  153. package/dist/telemetry/ai-sdk.d.ts +0 -2
  154. package/dist/telemetry/ai-sdk.js +0 -31
  155. package/dist/telemetry/baggage.d.ts +0 -1
  156. package/dist/telemetry/baggage.js +0 -24
  157. package/dist/telemetry/fetch.d.ts +0 -2
  158. package/dist/telemetry/fetch.js +0 -24
  159. package/dist/telemetry/gen-ai.d.ts +0 -5
  160. package/dist/telemetry/gen-ai.js +0 -60
  161. package/dist/telemetry/http.d.ts +0 -3
  162. package/dist/telemetry/http.js +0 -54
  163. package/dist/telemetry/memory.d.ts +0 -2
  164. package/dist/telemetry/memory.js +0 -27
  165. package/dist/telemetry/span.d.ts +0 -13
  166. package/dist/telemetry/span.js +0 -60
  167. package/dist/telemetry/stream.d.ts +0 -3
  168. package/dist/telemetry/stream.js +0 -51
  169. package/dist/types.d.ts +0 -176
  170. package/dist/types.js +0 -1
  171. package/dist/utils/env.d.ts +0 -2
  172. package/dist/utils/env.js +0 -5
  173. package/dist/utils/headers.d.ts +0 -4
  174. package/dist/utils/headers.js +0 -22
  175. package/dist/utils/preset.d.ts +0 -9
  176. package/dist/utils/preset.js +0 -41
  177. package/dist/utils/request.d.ts +0 -2
  178. package/dist/utils/request.js +0 -14
  179. package/dist/utils/response.d.ts +0 -3
  180. package/dist/utils/response.js +0 -68
@@ -1,95 +0,0 @@
1
- import { presetFor } from "../../utils/preset";
2
- const LLAMA_3_BASE = {
3
- modalities: {
4
- input: ["text", "file"],
5
- output: ["text"],
6
- },
7
- capabilities: ["attachments", "tool_call", "temperature"],
8
- context: 128000,
9
- providers: ["groq", "bedrock", "vertex"],
10
- };
11
- export const llama31_8b = presetFor()("meta/llama-3.1-8b", {
12
- ...LLAMA_3_BASE,
13
- name: "Llama 3.1 8B",
14
- created: "2024-07-23",
15
- knowledge: "2023-12",
16
- });
17
- export const llama31_70b = presetFor()("meta/llama-3.1-70b", {
18
- ...LLAMA_3_BASE,
19
- name: "Llama 3.1 70B",
20
- created: "2024-07-23",
21
- knowledge: "2023-12",
22
- });
23
- export const llama31_405b = presetFor()("meta/llama-3.1-405b", {
24
- ...LLAMA_3_BASE,
25
- name: "Llama 3.1 405B",
26
- created: "2024-07-23",
27
- knowledge: "2023-12",
28
- });
29
- export const llama32_1b = presetFor()("meta/llama-3.2-1b", {
30
- ...LLAMA_3_BASE,
31
- name: "Llama 3.2 1B",
32
- created: "2024-09-25",
33
- knowledge: "2023-12",
34
- });
35
- export const llama32_3b = presetFor()("meta/llama-3.2-3b", {
36
- ...LLAMA_3_BASE,
37
- name: "Llama 3.2 3B",
38
- created: "2024-09-25",
39
- knowledge: "2023-12",
40
- });
41
- export const llama32_11b = presetFor()("meta/llama-3.2-11b", {
42
- ...LLAMA_3_BASE,
43
- name: "Llama 3.2 11B",
44
- created: "2024-09-25",
45
- knowledge: "2023-12",
46
- });
47
- export const llama32_90b = presetFor()("meta/llama-3.2-90b", {
48
- ...LLAMA_3_BASE,
49
- name: "Llama 3.2 90B",
50
- created: "2024-09-25",
51
- knowledge: "2023-12",
52
- });
53
- export const llama33_70b = presetFor()("meta/llama-3.3-70b", {
54
- ...LLAMA_3_BASE,
55
- name: "Llama 3.3 70B",
56
- created: "2024-12-06",
57
- knowledge: "2023-12",
58
- });
59
- const LLAMA_4_BASE = {
60
- modalities: {
61
- input: ["text", "image", "file"],
62
- output: ["text"],
63
- },
64
- capabilities: ["attachments", "tool_call", "temperature"],
65
- context: 1000000,
66
- providers: ["groq", "vertex", "bedrock"],
67
- };
68
- export const llama4Scout = presetFor()("meta/llama-4-scout", {
69
- ...LLAMA_4_BASE,
70
- name: "Llama 4 Scout",
71
- created: "2025-08-05",
72
- knowledge: "2024-06",
73
- });
74
- export const llama4Maverick = presetFor()("meta/llama-4-maverick", {
75
- ...LLAMA_4_BASE,
76
- name: "Llama 4 Maverick",
77
- created: "2025-08-05",
78
- knowledge: "2024-06",
79
- });
80
- const llamaAtomic = {
81
- "v3.1": [llama31_8b, llama31_70b, llama31_405b],
82
- "v3.2": [llama32_1b, llama32_3b, llama32_11b, llama32_90b],
83
- "v3.3": [llama33_70b],
84
- v4: [llama4Scout, llama4Maverick],
85
- };
86
- const llamaGroups = {
87
- "v3.x": [...llamaAtomic["v3.1"], ...llamaAtomic["v3.2"], ...llamaAtomic["v3.3"]],
88
- "v4.x": [...llamaAtomic["v4"]],
89
- };
90
- export const llama = {
91
- ...llamaAtomic,
92
- ...llamaGroups,
93
- latest: [...llamaAtomic["v4"]],
94
- all: Object.values(llamaAtomic).flat(),
95
- };
@@ -1,2 +0,0 @@
1
- export * from "./presets";
2
- export * from "./middleware";
@@ -1,2 +0,0 @@
1
- export * from "./presets";
2
- export * from "./middleware";
@@ -1,3 +0,0 @@
1
- import type { EmbeddingModelMiddleware, LanguageModelMiddleware } from "ai";
2
- export declare const openAIDimensionsMiddleware: EmbeddingModelMiddleware;
3
- export declare const openAIReasoningMiddleware: LanguageModelMiddleware;
@@ -1,62 +0,0 @@
1
- import { modelMiddlewareMatcher } from "../../middleware/matcher";
2
- // Convert `dimensions` (OpenAI) to `dimensions` (OpenAI)
3
- export const openAIDimensionsMiddleware = {
4
- specificationVersion: "v3",
5
- // eslint-disable-next-line require-await
6
- transformParams: async ({ params }) => {
7
- const unknown = params.providerOptions?.["unknown"];
8
- if (!unknown)
9
- return params;
10
- const dimensions = unknown["dimensions"];
11
- if (!dimensions)
12
- return params;
13
- (params.providerOptions["openai"] ??= {})["dimensions"] = dimensions;
14
- delete unknown["dimensions"];
15
- return params;
16
- },
17
- };
18
- function mapGptOssReasoningEffort(effort) {
19
- switch (effort) {
20
- case "medium":
21
- return "medium";
22
- case "high":
23
- case "xhigh":
24
- case "max":
25
- return "high";
26
- default:
27
- return "low";
28
- }
29
- }
30
- export const openAIReasoningMiddleware = {
31
- specificationVersion: "v3",
32
- // eslint-disable-next-line require-await
33
- transformParams: async ({ params, model }) => {
34
- const unknown = params.providerOptions?.["unknown"];
35
- if (!unknown)
36
- return params;
37
- const reasoning = unknown["reasoning"];
38
- if (!reasoning)
39
- return params;
40
- const target = (params.providerOptions["openai"] ??= {});
41
- const isGptOss = model.modelId.includes("gpt-oss");
42
- if (isGptOss) {
43
- // FUTURE: warn that unable to disable reasoning for gpt-oss models
44
- target["reasoningEffort"] = mapGptOssReasoningEffort(reasoning.effort);
45
- }
46
- else if (reasoning.enabled === false) {
47
- target["reasoningEffort"] = "none";
48
- }
49
- else if (reasoning.effort) {
50
- target["reasoningEffort"] = reasoning.effort;
51
- }
52
- // FUTURE: warn that reasoning.max_tokens (not supported) was ignored
53
- delete unknown["reasoning"];
54
- return params;
55
- },
56
- };
57
- modelMiddlewareMatcher.useForModel("openai/text-embedding-*", {
58
- embedding: [openAIDimensionsMiddleware],
59
- });
60
- modelMiddlewareMatcher.useForModel("openai/gpt-*", {
61
- language: [openAIReasoningMiddleware],
62
- });