Packages

A Gleam framework for building AI agents — type-safe, multi-provider, with tool calling, streaming, and simulation testing

Current section

Files

Jump to
glean src glean@providers@openrouter.erl
Raw

src/glean@providers@openrouter.erl

-module(glean@providers@openrouter).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/glean/providers/openrouter.gleam").
-export([from_config/1, new/2]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-file("src/glean/providers/openrouter.gleam", 25).
?DOC(false).
-spec from_config(glean@providers@config:provider_config()) -> glean@provider:provider().
from_config(Cfg) ->
Cfg@1 = case erlang:element(3, Cfg) of
<<""/utf8>> ->
glean@providers@config:base_url(
Cfg,
<<"https://openrouter.ai/api/v1"/utf8>>
);
_ ->
Cfg
end,
glean@providers@openai_compatible:create(<<"openrouter"/utf8>>, Cfg@1).
-file("src/glean/providers/openrouter.gleam", 18).
?DOC(false).
-spec new(binary(), binary()) -> glean@provider:provider().
new(Api_key, Model) ->
_pipe = glean@providers@config:new(Api_key, Model),
_pipe@1 = glean@providers@config:base_url(
_pipe,
<<"https://openrouter.ai/api/v1"/utf8>>
),
from_config(_pipe@1).