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@config.erl
Raw

src/glean@providers@config.erl

-module(glean@providers@config).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/glean/providers/config.gleam").
-export([new/2, base_url/2, headers/2, timeout/2, max_tokens_field/2, max_retries/2, initial_retry_delay/2]).
-export_type([provider_config/0]).
-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).
-type provider_config() :: {provider_config,
binary(),
binary(),
binary(),
list({binary(), binary()}),
integer(),
binary(),
integer(),
integer()}.
-file("src/glean/providers/config.gleam", 28).
?DOC(false).
-spec new(binary(), binary()) -> provider_config().
new(Api_key, Model) ->
{provider_config,
Api_key,
<<""/utf8>>,
Model,
[],
60000,
<<"max_completion_tokens"/utf8>>,
3,
1000}.
-file("src/glean/providers/config.gleam", 42).
?DOC(false).
-spec base_url(provider_config(), binary()) -> provider_config().
base_url(Config, Url) ->
{provider_config,
erlang:element(2, Config),
Url,
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config)}.
-file("src/glean/providers/config.gleam", 47).
?DOC(false).
-spec headers(provider_config(), list({binary(), binary()})) -> provider_config().
headers(Config, Headers) ->
{provider_config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
Headers,
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config)}.
-file("src/glean/providers/config.gleam", 55).
?DOC(false).
-spec timeout(provider_config(), integer()) -> provider_config().
timeout(Config, Ms) ->
case Ms > 0 of
true -> nil;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
file => <<?FILEPATH/utf8>>,
module => <<"glean/providers/config"/utf8>>,
function => <<"timeout"/utf8>>,
line => 56,
value => _assert_fail,
start => 1549,
'end' => 1573,
pattern_start => 1560,
pattern_end => 1564})
end,
{provider_config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
Ms,
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config)}.
-file("src/glean/providers/config.gleam", 63).
?DOC(false).
-spec max_tokens_field(provider_config(), binary()) -> provider_config().
max_tokens_field(Config, Field) ->
{provider_config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
Field,
erlang:element(8, Config),
erlang:element(9, Config)}.
-file("src/glean/providers/config.gleam", 71).
?DOC(false).
-spec max_retries(provider_config(), integer()) -> provider_config().
max_retries(Config, Retries) ->
case Retries >= 0 of
true -> nil;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
file => <<?FILEPATH/utf8>>,
module => <<"glean/providers/config"/utf8>>,
function => <<"max_retries"/utf8>>,
line => 72,
value => _assert_fail,
start => 2094,
'end' => 2124,
pattern_start => 2105,
pattern_end => 2109})
end,
{provider_config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
Retries,
erlang:element(9, Config)}.
-file("src/glean/providers/config.gleam", 77).
?DOC(false).
-spec initial_retry_delay(provider_config(), integer()) -> provider_config().
initial_retry_delay(Config, Ms) ->
case Ms > 0 of
true -> nil;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
file => <<?FILEPATH/utf8>>,
module => <<"glean/providers/config"/utf8>>,
function => <<"initial_retry_delay"/utf8>>,
line => 78,
value => _assert_fail,
start => 2325,
'end' => 2349,
pattern_start => 2336,
pattern_end => 2340})
end,
{provider_config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
Ms}.