@hebo-ai/gateway 0.9.2 → 0.9.3
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/config.d.ts +2 -0
- package/dist/config.js +125 -0
- package/dist/endpoints/chat-completions/converters.d.ts +26 -0
- package/dist/endpoints/chat-completions/converters.js +525 -0
- package/dist/endpoints/chat-completions/handler.d.ts +2 -0
- package/dist/endpoints/chat-completions/handler.js +152 -0
- package/dist/endpoints/chat-completions/index.d.ts +4 -0
- package/dist/endpoints/chat-completions/index.js +4 -0
- package/dist/endpoints/chat-completions/otel.d.ts +5 -0
- package/dist/endpoints/chat-completions/otel.js +178 -0
- package/dist/endpoints/chat-completions/schema.d.ts +1170 -0
- package/dist/endpoints/chat-completions/schema.js +252 -0
- package/dist/endpoints/conversations/converters.d.ts +8 -0
- package/dist/endpoints/conversations/converters.js +29 -0
- package/dist/endpoints/conversations/handler.d.ts +2 -0
- package/dist/endpoints/conversations/handler.js +259 -0
- package/dist/endpoints/conversations/index.d.ts +3 -0
- package/dist/endpoints/conversations/index.js +3 -0
- package/dist/endpoints/conversations/schema.d.ts +1511 -0
- package/dist/endpoints/conversations/schema.js +74 -0
- package/dist/endpoints/conversations/storage/dialects/greptime.d.ts +10 -0
- package/dist/endpoints/conversations/storage/dialects/greptime.js +87 -0
- package/dist/endpoints/conversations/storage/dialects/mysql.d.ts +12 -0
- package/dist/endpoints/conversations/storage/dialects/mysql.js +118 -0
- package/dist/endpoints/conversations/storage/dialects/postgres.d.ts +16 -0
- package/dist/endpoints/conversations/storage/dialects/postgres.js +185 -0
- package/dist/endpoints/conversations/storage/dialects/sqlite.d.ts +11 -0
- package/dist/endpoints/conversations/storage/dialects/sqlite.js +176 -0
- package/dist/endpoints/conversations/storage/dialects/types.d.ts +42 -0
- package/dist/endpoints/conversations/storage/dialects/types.js +0 -0
- package/dist/endpoints/conversations/storage/dialects/utils.d.ts +25 -0
- package/dist/endpoints/conversations/storage/dialects/utils.js +80 -0
- package/dist/endpoints/conversations/storage/memory.d.ts +25 -0
- package/dist/endpoints/conversations/storage/memory.js +200 -0
- package/dist/endpoints/conversations/storage/sql.d.ts +33 -0
- package/dist/endpoints/conversations/storage/sql.js +276 -0
- package/dist/endpoints/conversations/storage/types.d.ts +39 -0
- package/dist/endpoints/conversations/storage/types.js +0 -0
- package/dist/endpoints/embeddings/converters.d.ts +10 -0
- package/dist/endpoints/embeddings/converters.js +31 -0
- package/dist/endpoints/embeddings/handler.d.ts +2 -0
- package/dist/endpoints/embeddings/handler.js +99 -0
- package/dist/endpoints/embeddings/index.d.ts +4 -0
- package/dist/endpoints/embeddings/index.js +4 -0
- package/dist/endpoints/embeddings/otel.d.ts +5 -0
- package/dist/endpoints/embeddings/otel.js +29 -0
- package/dist/endpoints/embeddings/schema.d.ts +44 -0
- package/dist/endpoints/embeddings/schema.js +29 -0
- package/dist/endpoints/models/converters.d.ts +6 -0
- package/dist/endpoints/models/converters.js +42 -0
- package/dist/endpoints/models/handler.d.ts +2 -0
- package/dist/endpoints/models/handler.js +29 -0
- package/dist/endpoints/models/index.d.ts +3 -0
- package/dist/endpoints/models/index.js +3 -0
- package/dist/endpoints/models/schema.d.ts +42 -0
- package/dist/endpoints/models/schema.js +31 -0
- package/dist/endpoints/responses/converters.d.ts +17 -0
- package/dist/endpoints/responses/converters.js +1037 -0
- package/dist/endpoints/responses/handler.d.ts +2 -0
- package/dist/endpoints/responses/handler.js +141 -0
- package/dist/endpoints/responses/index.d.ts +4 -0
- package/dist/endpoints/responses/index.js +4 -0
- package/dist/endpoints/responses/otel.d.ts +6 -0
- package/dist/endpoints/responses/otel.js +226 -0
- package/dist/endpoints/responses/schema.d.ts +2109 -0
- package/dist/endpoints/responses/schema.js +314 -0
- package/dist/endpoints/shared/converters.d.ts +56 -0
- package/dist/endpoints/shared/converters.js +180 -0
- package/dist/endpoints/shared/schema.d.ts +70 -0
- package/dist/endpoints/shared/schema.js +46 -0
- package/dist/errors/ai-sdk.d.ts +2 -0
- package/dist/errors/ai-sdk.js +52 -0
- package/dist/errors/gateway.d.ts +5 -0
- package/dist/errors/gateway.js +13 -0
- package/dist/errors/openai.d.ts +15 -0
- package/dist/errors/openai.js +40 -0
- package/dist/errors/utils.d.ts +24 -0
- package/dist/errors/utils.js +46 -0
- package/dist/gateway.d.ts +11 -0
- package/dist/gateway.js +44 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +10 -0
- package/dist/lifecycle.d.ts +3 -0
- package/dist/lifecycle.js +114 -0
- package/dist/logger/default.d.ts +4 -0
- package/dist/logger/default.js +81 -0
- package/dist/logger/index.d.ts +11 -0
- package/dist/logger/index.js +25 -0
- package/dist/middleware/common.d.ts +12 -0
- package/dist/middleware/common.js +146 -0
- package/dist/middleware/debug.d.ts +3 -0
- package/dist/middleware/debug.js +27 -0
- package/dist/middleware/matcher.d.ts +28 -0
- package/dist/middleware/matcher.js +118 -0
- package/dist/middleware/utils.d.ts +2 -0
- package/dist/middleware/utils.js +24 -0
- package/dist/models/amazon/index.d.ts +2 -0
- package/dist/models/amazon/index.js +2 -0
- package/dist/models/amazon/middleware.d.ts +3 -0
- package/dist/models/amazon/middleware.js +69 -0
- package/dist/models/amazon/presets.d.ts +345 -0
- package/dist/models/amazon/presets.js +80 -0
- package/dist/models/anthropic/index.d.ts +2 -0
- package/dist/models/anthropic/index.js +2 -0
- package/dist/models/anthropic/middleware.d.ts +5 -0
- package/dist/models/anthropic/middleware.js +128 -0
- package/dist/models/anthropic/presets.d.ts +711 -0
- package/dist/models/anthropic/presets.js +140 -0
- package/dist/models/catalog.d.ts +4 -0
- package/dist/models/catalog.js +8 -0
- package/dist/models/cohere/index.d.ts +2 -0
- package/dist/models/cohere/index.js +2 -0
- package/dist/models/cohere/middleware.d.ts +3 -0
- package/dist/models/cohere/middleware.js +62 -0
- package/dist/models/cohere/presets.d.ts +411 -0
- package/dist/models/cohere/presets.js +134 -0
- package/dist/models/google/index.d.ts +2 -0
- package/dist/models/google/index.js +2 -0
- package/dist/models/google/middleware.d.ts +8 -0
- package/dist/models/google/middleware.js +118 -0
- package/dist/models/google/presets.d.ts +815 -0
- package/dist/models/google/presets.js +184 -0
- package/dist/models/meta/index.d.ts +1 -0
- package/dist/models/meta/index.js +1 -0
- package/dist/models/meta/presets.d.ts +483 -0
- package/dist/models/meta/presets.js +105 -0
- package/dist/models/openai/index.d.ts +2 -0
- package/dist/models/openai/index.js +2 -0
- package/dist/models/openai/middleware.d.ts +4 -0
- package/dist/models/openai/middleware.js +89 -0
- package/dist/models/openai/presets.d.ts +1319 -0
- package/dist/models/openai/presets.js +277 -0
- package/dist/models/types.d.ts +20 -0
- package/dist/models/types.js +100 -0
- package/dist/models/voyage/index.d.ts +2 -0
- package/dist/models/voyage/index.js +2 -0
- package/dist/models/voyage/middleware.d.ts +2 -0
- package/dist/models/voyage/middleware.js +19 -0
- package/dist/models/voyage/presets.d.ts +436 -0
- package/dist/models/voyage/presets.js +85 -0
- package/dist/providers/anthropic/canonical.d.ts +3 -0
- package/dist/providers/anthropic/canonical.js +9 -0
- package/dist/providers/anthropic/index.d.ts +1 -0
- package/dist/providers/anthropic/index.js +1 -0
- package/dist/providers/bedrock/canonical.d.ts +17 -0
- package/dist/providers/bedrock/canonical.js +64 -0
- package/dist/providers/bedrock/index.d.ts +2 -0
- package/dist/providers/bedrock/index.js +2 -0
- package/dist/providers/bedrock/middleware.d.ts +5 -0
- package/dist/providers/bedrock/middleware.js +133 -0
- package/dist/providers/cohere/canonical.d.ts +3 -0
- package/dist/providers/cohere/canonical.js +17 -0
- package/dist/providers/cohere/index.d.ts +1 -0
- package/dist/providers/cohere/index.js +1 -0
- package/dist/providers/groq/canonical.d.ts +3 -0
- package/dist/providers/groq/canonical.js +12 -0
- package/dist/providers/groq/index.d.ts +2 -0
- package/dist/providers/groq/index.js +2 -0
- package/dist/providers/groq/middleware.d.ts +2 -0
- package/dist/providers/groq/middleware.js +30 -0
- package/dist/providers/openai/canonical.d.ts +3 -0
- package/dist/providers/openai/canonical.js +8 -0
- package/dist/providers/openai/index.d.ts +1 -0
- package/dist/providers/openai/index.js +1 -0
- package/dist/providers/registry.d.ts +24 -0
- package/dist/providers/registry.js +103 -0
- package/dist/providers/types.d.ts +7 -0
- package/dist/providers/types.js +11 -0
- package/dist/providers/vertex/canonical.d.ts +3 -0
- package/dist/providers/vertex/canonical.js +8 -0
- package/dist/providers/vertex/index.d.ts +2 -0
- package/dist/providers/vertex/index.js +2 -0
- package/dist/providers/vertex/middleware.d.ts +2 -0
- package/dist/providers/vertex/middleware.js +47 -0
- package/dist/providers/voyage/canonical.d.ts +3 -0
- package/dist/providers/voyage/canonical.js +7 -0
- package/dist/providers/voyage/index.d.ts +1 -0
- package/dist/providers/voyage/index.js +1 -0
- package/dist/telemetry/ai-sdk.d.ts +2 -0
- package/dist/telemetry/ai-sdk.js +31 -0
- package/dist/telemetry/baggage.d.ts +1 -0
- package/dist/telemetry/baggage.js +24 -0
- package/dist/telemetry/fetch.d.ts +2 -0
- package/dist/telemetry/fetch.js +49 -0
- package/dist/telemetry/gen-ai.d.ts +7 -0
- package/dist/telemetry/gen-ai.js +108 -0
- package/dist/telemetry/http.d.ts +3 -0
- package/dist/telemetry/http.js +54 -0
- package/dist/telemetry/index.d.ts +1 -0
- package/dist/telemetry/index.js +1 -0
- package/dist/telemetry/memory.d.ts +2 -0
- package/dist/telemetry/memory.js +43 -0
- package/dist/telemetry/span.d.ts +13 -0
- package/dist/telemetry/span.js +60 -0
- package/dist/types.d.ts +231 -0
- package/dist/types.js +2 -0
- package/dist/utils/body.d.ts +19 -0
- package/dist/utils/body.js +99 -0
- package/dist/utils/env.d.ts +2 -0
- package/dist/utils/env.js +7 -0
- package/dist/utils/headers.d.ts +4 -0
- package/dist/utils/headers.js +22 -0
- package/dist/utils/preset.d.ts +10 -0
- package/dist/utils/preset.js +41 -0
- package/dist/utils/request.d.ts +2 -0
- package/dist/utils/request.js +43 -0
- package/dist/utils/response.d.ts +6 -0
- package/dist/utils/response.js +55 -0
- package/dist/utils/stream.d.ts +9 -0
- package/dist/utils/stream.js +100 -0
- package/dist/utils/url.d.ts +4 -0
- package/dist/utils/url.js +21 -0
- package/package.json +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { GatewayError } from "../../errors/gateway";
|
|
2
|
+
import { winterCgHandler } from "../../lifecycle";
|
|
3
|
+
import { toModels, toModel } from "./converters";
|
|
4
|
+
export const models = (config) => {
|
|
5
|
+
// eslint-disable-next-line require-await
|
|
6
|
+
const handler = async (ctx, _cfg) => {
|
|
7
|
+
ctx.operation = "models";
|
|
8
|
+
if (!ctx.request || ctx.request.method !== "GET") {
|
|
9
|
+
throw new GatewayError("Method Not Allowed", 405);
|
|
10
|
+
}
|
|
11
|
+
const rawId = ctx.request.url.split("/models/", 2)[1]?.split("?", 1)[0];
|
|
12
|
+
if (!rawId) {
|
|
13
|
+
return toModels(ctx.models);
|
|
14
|
+
}
|
|
15
|
+
let modelId = rawId;
|
|
16
|
+
try {
|
|
17
|
+
modelId = decodeURIComponent(rawId);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
throw new GatewayError(`Invalid model ID: '${modelId}'`, 400);
|
|
21
|
+
}
|
|
22
|
+
const model = ctx.models[modelId];
|
|
23
|
+
if (!model) {
|
|
24
|
+
throw new GatewayError(`Model not found: '${modelId}'`, 404);
|
|
25
|
+
}
|
|
26
|
+
return toModel(modelId, model);
|
|
27
|
+
};
|
|
28
|
+
return { handler: winterCgHandler(handler, config) };
|
|
29
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
export declare const ModelSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
object: z.ZodLiteral<"model">;
|
|
5
|
+
created: z.ZodInt;
|
|
6
|
+
owned_by: z.ZodString;
|
|
7
|
+
name: z.ZodOptional<z.ZodString>;
|
|
8
|
+
knowledge: z.ZodOptional<z.ZodString>;
|
|
9
|
+
context: z.ZodOptional<z.ZodInt>;
|
|
10
|
+
architecture: z.ZodOptional<z.ZodObject<{
|
|
11
|
+
modality: z.ZodOptional<z.ZodString>;
|
|
12
|
+
input_modalities: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
13
|
+
output_modalities: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
16
|
+
tag: z.ZodString;
|
|
17
|
+
}, z.core.$strip>>>;
|
|
18
|
+
capabilities: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
19
|
+
}, z.core.$loose>;
|
|
20
|
+
export type Model = z.infer<typeof ModelSchema>;
|
|
21
|
+
export declare const ModelListSchema: z.ZodObject<{
|
|
22
|
+
object: z.ZodLiteral<"list">;
|
|
23
|
+
data: z.ZodArray<z.ZodObject<{
|
|
24
|
+
id: z.ZodString;
|
|
25
|
+
object: z.ZodLiteral<"model">;
|
|
26
|
+
created: z.ZodInt;
|
|
27
|
+
owned_by: z.ZodString;
|
|
28
|
+
name: z.ZodOptional<z.ZodString>;
|
|
29
|
+
knowledge: z.ZodOptional<z.ZodString>;
|
|
30
|
+
context: z.ZodOptional<z.ZodInt>;
|
|
31
|
+
architecture: z.ZodOptional<z.ZodObject<{
|
|
32
|
+
modality: z.ZodOptional<z.ZodString>;
|
|
33
|
+
input_modalities: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
34
|
+
output_modalities: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
35
|
+
}, z.core.$strip>>;
|
|
36
|
+
endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
37
|
+
tag: z.ZodString;
|
|
38
|
+
}, z.core.$strip>>>;
|
|
39
|
+
capabilities: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
40
|
+
}, z.core.$loose>>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export type ModelList = z.infer<typeof ModelListSchema>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
export const ModelSchema = z.looseObject({
|
|
3
|
+
// Core
|
|
4
|
+
id: z.string(),
|
|
5
|
+
object: z.literal("model"),
|
|
6
|
+
created: z.int().nonnegative(),
|
|
7
|
+
owned_by: z.string(),
|
|
8
|
+
// Extensions
|
|
9
|
+
name: z.string().optional().meta({ extension: true }),
|
|
10
|
+
knowledge: z.string().optional().meta({ extension: true }),
|
|
11
|
+
context: z.int().nonnegative().optional().meta({ extension: true }),
|
|
12
|
+
architecture: z
|
|
13
|
+
.object({
|
|
14
|
+
modality: z.string().optional(),
|
|
15
|
+
input_modalities: z.array(z.string()).readonly().optional(),
|
|
16
|
+
output_modalities: z.array(z.string()).readonly().optional(),
|
|
17
|
+
})
|
|
18
|
+
.optional()
|
|
19
|
+
.meta({ extension: true }),
|
|
20
|
+
endpoints: z
|
|
21
|
+
.array(z.object({
|
|
22
|
+
tag: z.string(),
|
|
23
|
+
}))
|
|
24
|
+
.optional()
|
|
25
|
+
.meta({ extension: true }),
|
|
26
|
+
capabilities: z.array(z.string()).readonly().optional().meta({ extension: true }),
|
|
27
|
+
});
|
|
28
|
+
export const ModelListSchema = z.object({
|
|
29
|
+
object: z.literal("list"),
|
|
30
|
+
data: z.array(ModelSchema),
|
|
31
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { GenerateTextResult, StreamTextResult, ToolSet, ModelMessage, LanguageModelUsage, TextStreamPart } from "ai";
|
|
2
|
+
import { Output } from "ai";
|
|
3
|
+
import type { SseErrorFrame } from "../../utils/stream";
|
|
4
|
+
import { type TextCallOptions, type ToolChoiceOptions } from "../shared/converters";
|
|
5
|
+
import type { ResponsesInputItem, ResponsesInputs, Responses, ResponsesUsage, ResponsesStream, ResponsesStreamEvent, ResponsesToolChoice, ResponsesTool } from "./schema";
|
|
6
|
+
export declare function convertToTextCallOptions(params: ResponsesInputs): TextCallOptions;
|
|
7
|
+
export declare function convertToModelMessages(input: string | ResponsesInputItem[], instructions?: string): ModelMessage[];
|
|
8
|
+
export declare const convertToToolSet: (tools: ResponsesTool[] | undefined) => ToolSet | undefined;
|
|
9
|
+
export declare const convertToToolChoiceOptions: (toolChoice: ResponsesToolChoice | undefined) => ToolChoiceOptions;
|
|
10
|
+
export declare function toResponses(result: GenerateTextResult<ToolSet, Output.Output>, model: string, metadata?: Record<string, string> | null): Responses;
|
|
11
|
+
export declare function toResponsesResponse(result: GenerateTextResult<ToolSet, Output.Output>, model: string, metadata?: Record<string, string> | null, responseInit?: ResponseInit): Response;
|
|
12
|
+
export declare function toResponsesStream(result: StreamTextResult<ToolSet, Output.Output>, model: string, metadata?: Record<string, string> | null): ResponsesStream;
|
|
13
|
+
export declare function toResponsesStreamResponse(result: StreamTextResult<ToolSet, Output.Output>, model: string, metadata?: Record<string, string> | null, responseInit?: ResponseInit): Response;
|
|
14
|
+
export declare function toResponsesUsage(usage: LanguageModelUsage): ResponsesUsage;
|
|
15
|
+
export declare class ResponsesTransformStream extends TransformStream<TextStreamPart<ToolSet>, ResponsesStreamEvent | SseErrorFrame> {
|
|
16
|
+
constructor(model: string, metadata?: Record<string, string> | null);
|
|
17
|
+
}
|