|
|
@@ -45,9 +45,7 @@ export interface Route<Body, Prepared = unknown> {
|
|
|
readonly defaults: RouteDefaults
|
|
|
readonly body: RouteBody<Body>
|
|
|
readonly with: (patch: RoutePatch<Body, Prepared>) => Route<Body, Prepared>
|
|
|
- readonly model: <Options extends ProviderOptions = ProviderOptions>(
|
|
|
- input: RouteMappedModelInput<Options>,
|
|
|
- ) => Model<Options>
|
|
|
+ readonly model: <Options extends ProviderOptions = ProviderOptions>(input: RouteMappedModelInput) => Model<Options>
|
|
|
readonly prepareTransport: (body: Body, request: LLMRequest) => Effect.Effect<Prepared, LLMError>
|
|
|
readonly streamPrepared: (
|
|
|
prepared: Prepared,
|
|
|
@@ -64,15 +62,9 @@ export type AnyRoute = Route<any, any>
|
|
|
|
|
|
export type HttpOptionsInput = HttpOptions.Input
|
|
|
|
|
|
-export type RouteModelInput<Options extends ProviderOptions = ProviderOptions> = Omit<
|
|
|
- Model.Input<Options>,
|
|
|
- "provider" | "route"
|
|
|
->
|
|
|
+export type RouteModelInput = Omit<Model.Input, "provider" | "route">
|
|
|
|
|
|
-export type RouteRoutedModelInput<Options extends ProviderOptions = ProviderOptions> = Omit<
|
|
|
- Model.Input<Options>,
|
|
|
- "route"
|
|
|
->
|
|
|
+export type RouteRoutedModelInput = Omit<Model.Input, "route">
|
|
|
|
|
|
export interface RouteDefaults {
|
|
|
readonly headers?: Record<string, string>
|
|
|
@@ -98,14 +90,9 @@ export interface RoutePatch<Body, Prepared> extends RouteDefaultsInput {
|
|
|
readonly endpoint?: EndpointPatch<Body>
|
|
|
}
|
|
|
|
|
|
-type RouteMappedModelInput<Options extends ProviderOptions = ProviderOptions> =
|
|
|
- | RouteModelInput<Options>
|
|
|
- | RouteRoutedModelInput<Options>
|
|
|
+type RouteMappedModelInput = RouteModelInput | RouteRoutedModelInput
|
|
|
|
|
|
-const makeRouteModel = <Options extends ProviderOptions = ProviderOptions>(
|
|
|
- route: AnyRoute,
|
|
|
- mapped: RouteMappedModelInput<Options>,
|
|
|
-) => {
|
|
|
+const makeRouteModel = <Options extends ProviderOptions = ProviderOptions>(route: AnyRoute, mapped: RouteMappedModelInput) => {
|
|
|
const provider = route.provider ?? ("provider" in mapped ? mapped.provider : undefined)
|
|
|
if (!provider) throw new Error(`Route.model(${route.id}) requires a provider`)
|
|
|
if (!endpointBaseURL(route.endpoint))
|
|
|
@@ -297,7 +284,7 @@ function makeFromTransport<Body, Prepared, Frame, Event, State>(
|
|
|
defaults: mergeRouteDefaults(route.defaults, defaults),
|
|
|
})
|
|
|
},
|
|
|
- model: <Options extends ProviderOptions = ProviderOptions>(input: RouteMappedModelInput<Options>) =>
|
|
|
+ model: <Options extends ProviderOptions = ProviderOptions>(input: RouteMappedModelInput) =>
|
|
|
makeRouteModel<Options>(route, input),
|
|
|
prepareTransport: (body, request) =>
|
|
|
routeInput.transport.prepare({
|