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

src/glean@model.erl

-module(glean@model).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/glean/model.gleam").
-export([deprecation_warning/3]).
-export_type([model/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.
-type model() :: {model,
glean@provider:provider(),
glean@provider:model_settings()}.
-file("src/glean/model.gleam", 16).
?DOC(
" Log a deprecation warning at runtime.\n"
" Called by deprecated model modules in their `build()` function\n"
" before swapping to the replacement model.\n"
).
-spec deprecation_warning(binary(), binary(), binary()) -> nil.
deprecation_warning(Deprecated_model, Replacement_model, Shutdown_date) ->
gleam_stdlib:println(
<<<<<<<<<<<<"[glean] WARNING: "/utf8, Deprecated_model/binary>>/binary,
" is deprecated (shutdown: "/utf8>>/binary,
Shutdown_date/binary>>/binary,
"). Using "/utf8>>/binary,
Replacement_model/binary>>/binary,
" instead."/utf8>>
).