Current section

Files

Jump to
hecate_sdk rebar.config
Raw

rebar.config

%%% Hecate Plugin SDK
%%% The contract between daemon and plugins.
%%% Plugins depend on this single package — all platform deps come transitively.
{erl_opts, [
debug_info,
warnings_as_errors
]}.
{deps, [
%% Event sourcing stack. Keep in lockstep with hecate-daemon's
%% pins — see the dependency graph + version matrix in the
%% workspace CLAUDE.md. The 2.x line of reckon_db / reckon_gater /
%% reckon_evoq carries breaking renames (reckon_gater_types,
%% reckon_gater_api), so these stay exact-pinned, not `~>`.
{reckon_db, "2.0.0"},
{reckon_gater, "2.0.1"},
{evoq, "1.14.4"},
{reckon_evoq, "2.0.0"},
%% Telemetry
{telemetry, "1.3.0"},
%% HTTP server + WebSocket
{cowboy, "2.12.0"},
%% Read models
{esqlite, "0.8.8"},
%% Mesh — 3.0.0 ships CBOR wire format (RFC 8949), wire-incompatible
%% with 2.x and 1.x. Roll forward together with relays + daemons.
%% 3.16.0 = pool RPC + status/1 + subscribe_callback/4 (additive).
%% 4.3.0 = `station' MRI type + `macula_z32' codec. `~> 4.3' (not
%% `~> 4.3.0') so consumers can pick up additive 4.x minors — and
%% so hecate-daemon doesn't need an `{overrides, ...}` on the
%% transitive macula pin to reach 4.3.x.
{macula, "~> 4.3"},
%% HTTP client
{hackney, "1.20.1"},
%% AI/ML
{faber_tweann, "1.2.0"},
{faber_neuroevolution, "1.2.3"},
%% Optional — protobuf for external integrations
{gpb, "4.21.2"}
]}.
{profiles, [
{test, [
{deps, [
{meck, "0.9.2"}
]}
]}
]}.
{project_plugins, [
rebar3_ex_doc,
rebar3_hex
]}.
{ex_doc, [
{source_url, <<"https://codeberg.org/hecate-social/hecate-sdk">>},
{extras, [
<<"README.md">>,
<<"guides/getting-started.md">>,
<<"guides/implementing-a-plugin.md">>,
<<"guides/plugin-architecture.md">>,
<<"guides/observability.md">>,
<<"guides/packaging.md">>,
<<"CHANGELOG.md">>,
<<"LICENSE">>
]},
{groups_for_extras, [
{<<"Guides">>, [
<<"guides/getting-started.md">>,
<<"guides/implementing-a-plugin.md">>,
<<"guides/plugin-architecture.md">>,
<<"guides/observability.md">>,
<<"guides/packaging.md">>
]}
]},
{assets, #{<<"assets">> => <<"assets">>}},
{main, <<"README.md">>}
]}.
{hex, [{doc, ex_doc}]}.