Moonborn — Developers
Elixir
Das offizielle Elixir-SDK. Idiomatische supervised Prozesse, Tesla-backed HTTP, versendet innerhalb einer Woche jedes API-Releases.
Das Elixir-SDK ist moonborn auf Hex. Aus der kanonischen OpenAPI-
Spec generiert; idiomatisches Elixir — supervisierbare Prozesse,
Tesla-backed HTTP, pattern-matchable Result-Tuples.
Installieren
# mix.exs
def deps do
[{:moonborn, "~> 1.0"}]
endmix deps.getErster Call
{:ok, client} = Moonborn.client(api_key: System.fetch_env!("MOONBORN_API_KEY"))
{:ok, persona} = Moonborn.Personas.create_persona(client,
intent: "Ein 34-jähriger Gründer aus Istanbul. Brillant, aber rastlos.",
workspace_id: "ws_..."
)
IO.inspect({persona.id, persona.status})Chat
{:ok, session} = Moonborn.Chat.create_session(client, persona_id: persona.id)
{:ok, reply} = Moonborn.Chat.send_message(client,
session_id: session.id,
content: "Was treibt dich an?"
)Streaming
Moonborn.Chat.stream_message(client, session_id: session.id, content: "Erzähl mir eine stille Wahrheit.")
|> Enum.each(fn
{:token, delta} -> IO.write(delta)
{:completed, %{drift_score: ds}} -> IO.puts("\ndrift: #{ds}")
end)Error-Handling
case Moonborn.Personas.get_persona(client, id: "persona_...") do
{:ok, persona} -> persona
{:error, %Moonborn.ApiError{code: "rate_limited", retry_after: ms}} ->
Process.sleep(ms)
# retry
endTarif
Jeder Tier.